Re: BUG #18845: DEREF_OF_NULL.RET guc_malloc possibly returns NULL
Daniel Gustafsson <daniel@yesql.se>
From: Daniel Gustafsson <daniel@yesql.se>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pm91.arapov@gmail.com,
pgsql-bugs@lists.postgresql.org
Date: 2025-03-14T22:10:27Z
Lists: pgsql-bugs
Attachments
- v1-0001-Fix-guc_malloc-calls-to-check-for-OOM-and-return-.patch (application/octet-stream) patch v1-0001
> On 14 Mar 2025, at 15:04, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Daniel Gustafsson <daniel@yesql.se> writes: >> Why would we want FATAL here? Wouldn't it be better to return false like how >> other check_ functions already do? > > Indeed. Also, a quick survey shows a lot of inconsistency in > guc_malloc callers --- some are lazy and just use ERROR rather > than LOG-and-return. That's probably all right for PGC_POSTMASTER > variables (since there's no chance of continuing anyway) but > perhaps it's worth improving elsewhere. Turns out there was one more guc_malloc(LOG.. which didn't inspect the returned allocation in check_synchronized_standby_slots. On top of that there were a few non PGC_POSTMASTER check functions that could return false and let the GUC machinery handle it if we want to be consistent. The fix for check_createrole_self_grant should go down to v16 and the fix for check_synchronized_standby_slots down to 17, the other ones aren't bugs today so that would be a changed behaviour in backbranches. -- Daniel Gustafsson
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix guc_malloc calls for consistency and OOM checks
- 8d48e84c5688 16.9 landed
- 8afec4ef67a2 17.5 landed
- 058b5152f02e 18.0 landed