postgres.git / summary / log / commit / refs
commit d24eb0e91f3f7fc54ed4e56d93b26e2f8d52c1ce
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu Dec 05 17:54:41 2024 +0000
Avoid low-probability crash on out-of-memory.
check_restrict_nonsystem_relation_kind() correctly uses guc_malloc()
in v16 and later. But in older branches it must use malloc()
directly, and it forgot to check for failure return.
Faulty backpatching of 66e94448a.
Karina Litskevich
Discussion: https://postgr.es/m/CACiT8iZ=atkguKVbpN4HmJFMb4+T9yEowF5JuPZG8W+kkZ9L6w@mail.gmail.com
src/backend/tcop/postgres.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index bd8ad11421a..5d699f7ff7c 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -3649,6 +3649,11 @@ check_restrict_nonsystem_relation_kind(char **newval, void **extra, GucSource so
/* Save the flags in *extra, for use by the assign function */
*extra = malloc(sizeof(int));
+ if (*extra == NULL)
+ ereport(ERROR,
+ (errcode(ERRCODE_OUT_OF_MEMORY),
+ errmsg("out of memory")));
+
*((int *) *extra) = flags;
return true;
[parent: 7d0b91a28421]