From: Michael Paquier Date: Wed, 28 Apr 2021 02:58:50 +0000 (+0900) Subject: Fix use-after-release issue with pg_identify_object_as_address() X-Git-Tag: REL_11_12~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=669f736666b394a2dadd4ab20ed0de4b81d5f146;p=thirdparty%2Fpostgresql.git Fix use-after-release issue with pg_identify_object_as_address() Spotted by buildfarm member prion, with -DRELCACHE_FORCE_RELEASE. Introduced in f7aab36. Discussion: https://postgr.es/m/2759018.1619577848@sss.pgh.pa.us Backpatch-through: 9.6 --- diff --git a/src/backend/catalog/objectaddress.c b/src/backend/catalog/objectaddress.c index 967e055b4de..9edab108dff 100644 --- a/src/backend/catalog/objectaddress.c +++ b/src/backend/catalog/objectaddress.c @@ -5035,7 +5035,7 @@ getObjectIdentityParts(const ObjectAddress *object, elog(ERROR, "cache lookup failed for event trigger %u", object->objectId); trigForm = (Form_pg_event_trigger) GETSTRUCT(tup); - evtname = NameStr(trigForm->evtname); + evtname = pstrdup(NameStr(trigForm->evtname)); appendStringInfoString(&buffer, quote_identifier(evtname)); if (objname) *objname = list_make1(evtname);