From: Jeff Davis Date: Fri, 4 Sep 2020 19:01:58 +0000 (-0700) Subject: Fix bogus MaxAllocSize check in logtape.c. X-Git-Tag: REL_14_BETA1~1724 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=0852006a946aa9795b4913bccebb88d623942ca6;p=postgresql.git Fix bogus MaxAllocSize check in logtape.c. Reported-by: Peter Geoghegan Discussion: https://postgr.es/m/CAH2-Wz=NZPZc3-fkdmvu=w2itx0PiB-G6QpxHXZOjuvFAzPdZw@mail.gmail.com Backpatch-through: 13 --- diff --git a/src/backend/utils/sort/logtape.c b/src/backend/utils/sort/logtape.c index 788815cdab6..bbb01f6d337 100644 --- a/src/backend/utils/sort/logtape.c +++ b/src/backend/utils/sort/logtape.c @@ -491,7 +491,7 @@ ltsReleaseBlock(LogicalTapeSet *lts, long blocknum) * If the freelist becomes very large, just return and leak this free * block. */ - if (lts->freeBlocksLen * 2 > MaxAllocSize) + if (lts->freeBlocksLen * 2 * sizeof(long) > MaxAllocSize) return; lts->freeBlocksLen *= 2;