Re: Avoid possible dereference null pointer (src/backend/catalog/pg_depend.c)

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Ranier Vilela <ranier.vf@gmail.com>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2024-05-26T23:40:16Z
Lists: pgsql-hackers
On Fri, May 24, 2024 at 09:05:35AM -0300, Ranier Vilela wrote:
> The function *get_attname* palloc the result name (pstrdup).
> Isn't it necessary to free the memory here (pfree)?

This is going to be freed with the current memory context, and all the
callers of getIdentitySequence() are in query execution paths, so I
don't see much the point.  A second thing was a missing check on the
attnum returned by get_attnum() with InvalidAttrNumber.  I'd be
tempted to introduce a missing_ok to this routine after looking at the
callers in all the tree, as some of them want to fail still would not
expect it, so that would reduce a bit the elog churn.  That's a story
for a different day, though.
--
Michael

Commits

  1. Fix potential NULL pointer dereference in getIdentitySequence()

  2. Fix assorted bugs related to identity column in partitioned tables