postgres.git / summary / log / commit / refs
commit 47e1224d590ccbc0d745e812dffe2fa913201776
Author: Jeff Davis <jdavis@postgresql.org>
Date: Thu Dec 01 19:26:32 2022 +0000
Fix memory leak for hashing with nondeterministic collations.
Backpatch through 12, where nondeterministic collations were
introduced (5e1963fb76).
Backpatch-through: 12
src/backend/access/hash/hashfunc.c | 2 ++
src/backend/utils/adt/varchar.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/src/backend/access/hash/hashfunc.c b/src/backend/access/hash/hashfunc.c
index 242333920e7..2c00de50418 100644
--- a/src/backend/access/hash/hashfunc.c
+++ b/src/backend/access/hash/hashfunc.c
@@ -303,6 +303,7 @@ hashtext(PG_FUNCTION_ARGS)
buf = palloc(bsize);
ucol_getSortKey(mylocale->info.icu.ucol,
uchar, ulen, buf, bsize);
+ pfree(uchar);
result = hash_any(buf, bsize);
@@ -360,6 +361,7 @@ hashtextextended(PG_FUNCTION_ARGS)
buf = palloc(bsize);
ucol_getSortKey(mylocale->info.icu.ucol,
uchar, ulen, buf, bsize);
+ pfree(uchar);
result = hash_any_extended(buf, bsize, PG_GETARG_INT64(1));
diff --git a/src/backend/utils/adt/varchar.c b/src/backend/utils/adt/varchar.c
index 8fc84649f19..714cf22613d 100644
--- a/src/backend/utils/adt/varchar.c
+++ b/src/backend/utils/adt/varchar.c
@@ -1020,6 +1020,7 @@ hashbpchar(PG_FUNCTION_ARGS)
buf = palloc(bsize);
ucol_getSortKey(mylocale->info.icu.ucol,
uchar, ulen, buf, bsize);
+ pfree(uchar);
result = hash_any(buf, bsize);
@@ -1081,6 +1082,7 @@ hashbpcharextended(PG_FUNCTION_ARGS)
buf = palloc(bsize);
ucol_getSortKey(mylocale->info.icu.ucol,
uchar, ulen, buf, bsize);
+ pfree(uchar);
result = hash_any_extended(buf, bsize, PG_GETARG_INT64(1));
[parent: 7ec2bfe9e031]