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
This commit is contained in:
parent
1168acbca4
commit
cd1c8b992e
@ -3489,6 +3489,11 @@ check_restrict_nonsystem_relation_kind(char **newval, void **extra, GucSource so
|
|||||||
|
|
||||||
/* Save the flags in *extra, for use by the assign function */
|
/* Save the flags in *extra, for use by the assign function */
|
||||||
*extra = malloc(sizeof(int));
|
*extra = malloc(sizeof(int));
|
||||||
|
if (*extra == NULL)
|
||||||
|
ereport(ERROR,
|
||||||
|
(errcode(ERRCODE_OUT_OF_MEMORY),
|
||||||
|
errmsg("out of memory")));
|
||||||
|
|
||||||
*((int *) *extra) = flags;
|
*((int *) *extra) = flags;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user