aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2021-04-28 11:58:50 +0900
committerMichael Paquier <michael@paquier.xyz>2021-04-28 11:58:50 +0900
commit669f736666b394a2dadd4ab20ed0de4b81d5f146 (patch)
tree93dea2e6e370a3c24a08fea0cb21e3774de5aba7
parent5b717e13c90bf281b7cc65eefd032c8bf54c3448 (diff)
downloadpostgresql-669f736666b394a2dadd4ab20ed0de4b81d5f146.tar.gz
postgresql-669f736666b394a2dadd4ab20ed0de4b81d5f146.zip
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
-rw-r--r--src/backend/catalog/objectaddress.c2
1 files changed, 1 insertions, 1 deletions
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);