Re: Fix NULL pointer reference in _outPathTarget()

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Cc: Richard Guo <guofenglinux@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2022-04-20T16:53:50Z
Lists: pgsql-hackers
Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes:
> On 18.04.22 20:53, Tom Lane wrote:
>> A semantics-preserving conversion would have looked something like
>> 	if (node->sortgrouprefs)
>> 		WRITE_INDEX_ARRAY(sortgrouprefs, list_length(node->exprs));

> I think we could put the if (node->fldname) inside the WRITE_INDEX_ARRAY 
> macro.

Yeah, that's another way to do it.  I think though that the unresolved
question is whether or not we want the field name to appear in the output
when the field is null.  I believe that I intentionally made it not appear
originally, so that that case could readily be distinguished.  You could
argue that that would complicate life greatly for a _readPathTarget()
function, which is true, but I don't foresee that we'll need one.

			regards, tom lane



Commits

  1. Handle NULL fields in WRITE_INDEX_ARRAY