From: Michael Paquier Date: Wed, 28 Apr 2021 02:58:55 +0000 (+0900) Subject: Fix use-after-release issue with pg_identify_object_as_address() X-Git-Tag: REL_10_17~13 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=b797918d27cc532b4835d87c676de34d4b9ee9bd;p=postgresql.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 fa2da451ab8..b0ff255a593 100644 --- a/src/backend/catalog/objectaddress.c +++ b/src/backend/catalog/objectaddress.c @@ -4953,7 +4953,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);