aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2024-04-07 19:00:11 -0700
committerAndres Freund <andres@anarazel.de>2024-04-07 19:09:02 -0700
commit974374dcd394c80f37e20b692b7d8b122aa8ed33 (patch)
tree484d1fa010ecee0a231db68fb2635484d5a889ca
parenta690920015bddc9c20f93d1a828c53ac3c21e489 (diff)
downloadpostgresql-974374dcd394c80f37e20b692b7d8b122aa8ed33.tar.gz
postgresql-974374dcd394c80f37e20b692b7d8b122aa8ed33.zip
simplehash: Free collisions array in SH_STAT
While SH_STAT() is only used for debugging, the allocated array can be large, and therefore should be freed. It's unclear why coverity started warning now. Reported-by: Tom Lane <tgl@sss.pgh.pa.us> Reported-by: Coverity Discussion: https://postgr.es/m/3005248.1712538233@sss.pgh.pa.us Backpatch: 12-
-rw-r--r--src/include/lib/simplehash.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/lib/simplehash.h b/src/include/lib/simplehash.h
index b7adc16b807..1dc817ac8d9 100644
--- a/src/include/lib/simplehash.h
+++ b/src/include/lib/simplehash.h
@@ -1101,6 +1101,9 @@ SH_STAT(SH_TYPE * tb)
max_collisions = curcoll;
}
+ /* large enough to be worth freeing, even if just used for debugging */
+ pfree(collisions);
+
if (tb->members > 0)
{
fillfactor = tb->members / ((double) tb->size);