postgres.git / summary / log / commit / refs
commit b797918d27cc532b4835d87c676de34d4b9ee9bd
Author: Michael Paquier <michael@paquier.xyz>
Date: Wed Apr 28 02:58:55 2021 +0000
First released in: 14.0, 9.6.22, 10.17, 11.12, 12.7, 13.3
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
src/backend/catalog/objectaddress.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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);
[parent: 90c9bad307bf]