simplehash: preserve consistency in case of OOM.

Jeff Davis <jdavis@postgresql.org>

Commit: b282fa88df78a05643d2df84a2b8e81cd9c1705d
Author: Jeff Davis <jdavis@postgresql.org>
Date: 2023-11-17T21:58:16Z
Releases: 17.0
simplehash: preserve consistency in case of OOM.

Compute size first, then allocate, then update the structure.

Previously, an out-of-memory when growing could leave the hashtable in
an inconsistent state.

Discussion: https://postgr.es/m/20231117201334.eyb542qr5yk4gilq@awork3.anarazel.de
Reviewed-by: Andres Freund
Reviewed-by: Gurjeet Singh

Files

PathChange+/−
src/include/lib/simplehash.h modified +31 −11

Discussion