Re: psql - add SHOW_ALL_RESULTS option - Mailing list pgsql-hackers

From Tom Lane
Subject Re: psql - add SHOW_ALL_RESULTS option
Date
Msg-id 2680034.1618157764@sss.pgh.pa.us
Whole thread Raw
In response to Re: psql - add SHOW_ALL_RESULTS option  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
... btw, Coverity also doesn't like this fragment of the patch:

/srv/coverity/git/pgsql-git/postgresql/src/bin/psql/common.c: 1084 in ShowNoticeMessage()
1078     static void
1079     ShowNoticeMessage(t_notice_messages *notes)
1080     {
1081         PQExpBufferData    *current = notes->in_flip ? ¬es->flip : ¬es->flop;
1082         if (current->data != NULL && *current->data != '\0')
1083             pg_log_info("%s", current->data);
>>>     CID 1476041:  Null pointer dereferences  (FORWARD_NULL)
>>>     Passing "current" to "resetPQExpBuffer", which dereferences null "current->data".
1084         resetPQExpBuffer(current);
1085     }
1086
1087     /*
1088      * SendQueryAndProcessResults: utility function for use by SendQuery()
1089      * and PSQLexecWatch().

Its point here is that either the test of "current->data != NULL" is
useless, or resetPQExpBuffer needs such a test too.  I'm inclined
to guess the former.

(Just as a matter of style, I don't care for the flip/flop terminology
here, not least because it's not clear why exactly two buffers suffice
and will suffice forevermore.  I'd be inclined to use an array of
two buffers with an index variable.)

            regards, tom lane



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: PANIC: wrong buffer passed to visibilitymap_clear
Next
From: Tom Lane
Date:
Subject: Re: PL/R regression on windows, but not linux with master.