Re: [PATCH] dynahash: add memory allocation failure check
x4mmm@yandex-team.ru
From: Andrey Borodin <x4mmm@yandex-team.ru>
To: m.korotkov@postgrespro.ru
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-04-23T09:46:40Z
Lists: pgsql-hackers
> On 23 Apr 2025, at 13:32, m.korotkov@postgrespro.ru wrote: > > I found a case of potential NULL pointer dereference. > In src/backend/utils/hash/dynahash.c in function HTAB *hash_create() the result of the DynaHashAlloc() is used unsafely. > The function DynaHashAlloc() calls MemoryContextAllocExtended() with MCXT_ALLOC_NO_OOM and can return a NULL pointer. > Added the pointer check for avoiding a potential problem. Yeah, good catch. And all HTAB->alloc() (which relies on DynaHashAlloc) callers seem to check for NULL result. It seems there are a lot of cases of MCXT_ALLOC_NO_OOM, perhaps should we check them all? Best regards, Andrey Borodin.
Commits
-
Avoid possibly-theoretical OOM crash hazard in hash_create().
- bc19f63f8010 18.0 landed
- f45bdb13397f 16.9 landed
- e384118559ef 17.5 landed