Possible NULL pointer deferenced (src/interfaces/libpq/fe-exec.c(line 563) - Mailing list pgsql-hackers

From Ranier Vilela
Subject Possible NULL pointer deferenced (src/interfaces/libpq/fe-exec.c(line 563)
Date
Msg-id CAEudQAr7RQZkLbVQE3J91O2KbLFtggLDbnZvr+QmNUHT2+z1Ng@mail.gmail.com
Whole thread Raw
Responses Re: Possible NULL pointer deferenced (src/interfaces/libpq/fe-exec.c (line 563)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Hi Mark,
please, can you take a look?

This possible bug was appeared before, see at:

The trap still persist, in HEAD see:

src/interfaces/libpq/fe-exec.c (line 563)
/* If there's enough space in the current block, no problem. */
if (nBytes <= (size_t) res->spaceLeft)
{
   space = res->curBlock->space + res->curOffset;
   res->curOffset += nBytes;
   res->spaceLeft -= nBytes;

   return space;
}

The res->curBlock pointer possibly, can be NULL here (line 563).

See at:
src/interfaces/libpq/fe-exec.c (line 585)
if (res->curBlock)

The path is res->curBlock be NULL and res->spaceLeft > nBytes.

If res->curBlock it not can be NULL, inside pqResultAlloc function, why is verified against NULL at line 585?

regards,
Ranier Vilela

pgsql-hackers by date:

Previous
From: vignesh C
Date:
Subject: Re: Include access method in listTables output
Next
From: Amit Kapila
Date:
Subject: Re: git.postgresql.org ok?