PostgreSQL Bugs

Collected from the PG bugs email list.

Bug ID16189
PG Version12.1
OSLinux
Opened2020-01-06 03:37:43+00
Reported byJian Zhang
StatusNew

Body of first available message related to this bug follows.

The following bug has been logged on the website:

Bug reference:      16189
Logged by:          Jian Zhang
Email address:      (redacted)
PostgreSQL version: 12.1
Operating system:   Linux
Description:        

We checked the code in file “indexpath.c” and there are five errors
occurring in lines 2799, 2881, 2882, 2883 and 2884. These five errors are
all caused by the usage of pointers with NULL values. The code in line 2799
is “leftop = (Node *) linitial(saop->args);” The pointer “soap” mentioned in
this line is defined by the code in line 2786 as “ScalarArrayOpExpr *saop =
(ScalarArrayOpExpr *) rinfo->clause;”, so it is assigned as the “clause”
field of the input pointer “rinfo” of function
“match_saopclause_to_indexcol”. For the rest four errors, the codes are
“leftop = (Node *) linitial(clause->largs);”, “rightop = (Node *)
linitial(clause->rargs);”, “expr_op = linitial_oid(clause->opnos);”, and
“expr_coll = linitial_oid(clause->inputcollids);” respectively. The pointer
“clause” mentioned in these four lines is defined by the code in line 2853
as “RowCompareExpr *clause = (RowCompareExpr *) rinfo->clause;”, so it is
assigned as the “clause” field of the input pointer “rinfo” of function
“match_rowcompare_to_indexcol”. The program should check the effectiveness
of the input parameter “rinfo” of the function
“match_saopclause_to_indexcol” and the input parameter “rinfo” of the
function “match_rowcompare_to_indexcol” to avoid these five errors.

Messages

DateAuthorSubject
2020-01-06 03:37:43+00PG Bug reporting formBUG #16189: The usage of NULL pointer in indexpath.c
2020-01-06 04:11:27+00Tom LaneRe: BUG #16189: The usage of NULL pointer in indexpath.c