Skip to content

Commit edf12e7

Browse files
committed
Fix memory leak for hashing with nondeterministic collations.
Backpatch through 12, where nondeterministic collations were introduced (5e1963f). Backpatch-through: 12
1 parent a109a0b commit edf12e7

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

src/backend/access/hash/hashfunc.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ hashtext(PG_FUNCTION_ARGS)
303303
buf = palloc(bsize);
304304
ucol_getSortKey(mylocale->info.icu.ucol,
305305
uchar, ulen, buf, bsize);
306+
pfree(uchar);
306307

307308
result = hash_any(buf, bsize);
308309

@@ -360,6 +361,7 @@ hashtextextended(PG_FUNCTION_ARGS)
360361
buf = palloc(bsize);
361362
ucol_getSortKey(mylocale->info.icu.ucol,
362363
uchar, ulen, buf, bsize);
364+
pfree(uchar);
363365

364366
result = hash_any_extended(buf, bsize, PG_GETARG_INT64(1));
365367

src/backend/utils/adt/varchar.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1031,6 +1031,7 @@ hashbpchar(PG_FUNCTION_ARGS)
10311031
buf = palloc(bsize);
10321032
ucol_getSortKey(mylocale->info.icu.ucol,
10331033
uchar, ulen, buf, bsize);
1034+
pfree(uchar);
10341035

10351036
result = hash_any(buf, bsize);
10361037

@@ -1092,6 +1093,7 @@ hashbpcharextended(PG_FUNCTION_ARGS)
10921093
buf = palloc(bsize);
10931094
ucol_getSortKey(mylocale->info.icu.ucol,
10941095
uchar, ulen, buf, bsize);
1096+
pfree(uchar);
10951097

10961098
result = hash_any_extended(buf, bsize, PG_GETARG_INT64(1));
10971099

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy