postgres.git / summary / log / commit / refs
commit 998d100cdb7220a81b8775b67fbc1d5bbb918052
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Wed Dec 10 09:43:16 2025 +0000
First released in: 17.8, 18.2
Fix some near-bugs related to ResourceOwner function arguments
These functions took a ResourceOwner argument, but only checked if it
was NULL, and then used CurrentResourceOwner for the actual work.
Surely the intention was to use the passed-in resource owner. All
current callers passed CurrentResourceOwner or NULL, so this has no
consequences at the moment, but it's an accident waiting to happen for
future caller and extensions.
Author: Matthias van de Meent <boekewurm+postgres@gmail.com>
Discussion: https://www.postgresql.org/message-id/CAEze2Whnfv8VuRZaohE-Af+GxBA1SNfD_rXfm84Jv-958UCcJA@mail.gmail.com
Backpatch-through: 17
src/backend/utils/cache/catcache.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c
index 59d625b244c..59d3825917b 100644
--- a/src/backend/utils/cache/catcache.c
+++ b/src/backend/utils/cache/catcache.c
@@ -1638,7 +1638,7 @@ ReleaseCatCacheWithOwner(HeapTuple tuple, ResourceOwner resowner)
ct->refcount--;
if (resowner)
- ResourceOwnerForgetCatCacheRef(CurrentResourceOwner, &ct->tuple);
+ ResourceOwnerForgetCatCacheRef(resowner, &ct->tuple);
if (
#ifndef CATCACHE_FORCE_RELEASE
@@ -2083,7 +2083,7 @@ ReleaseCatCacheListWithOwner(CatCList *list, ResourceOwner resowner)
Assert(list->refcount > 0);
list->refcount--;
if (resowner)
- ResourceOwnerForgetCatCacheListRef(CurrentResourceOwner, list);
+ ResourceOwnerForgetCatCacheListRef(resowner, list);
if (
#ifndef CATCACHE_FORCE_RELEASE
[parent: d0518e965e64]