BUG #16190: The usage of NULL pointer in refint.c

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: starbugs(at)qq(dot)com
Subject: BUG #16190: The usage of NULL pointer in refint.c
Date: 2020-01-06 03:39:36
Message-ID: 16190-70181c803641c3dc@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 16190
Logged by: Jian Zhang
Email address: starbugs(at)qq(dot)com
PostgreSQL version: 12.1
Operating system: Linux
Description:

We checked the code in file “refint.c” and there is one error occurring in
line 636. This error is caused by the usage of pointer with NULL value. The
code in this line is “newp->ident = strdup(ident);” The pointer “newp” is
defined by the code in line 615 as “EPlan *newp;” and initialized by the
code in line 628 as “newp = *eplan + i;” or in line 632 as “newp = *eplan =
(EPlan *) malloc(sizeof(EPlan));” according to different conditions. In the
first condition, the “*eplan” is valued by the code “*eplan = (EPlan *)
realloc(*eplan, (i + 1) * sizeof(EPlan));” in line 627. We found the code
hasn’t checked if the process “realloc” and “malloc” are success or not
which directly define the value of “*eplan”. The program should check the
effectiveness of the return value of function “realloc” and “malloc” to
avoid this error.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2020-01-06 04:00:17 BUG #16191: Errors of division by zero occur in several files.
Previous Message PG Bug reporting form 2020-01-06 03:37:43 BUG #16189: The usage of NULL pointer in indexpath.c