From: Heikki Linnakangas Date: Tue, 19 May 2015 16:21:46 +0000 (+0300) Subject: Fix off-by-one error in Assertion. X-Git-Tag: REL9_4_2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ada84478d89a49e305b79022a8ee0d2f12bcfc5f;p=postgresql Fix off-by-one error in Assertion. The point of the assertion is to ensure that the arrays allocated in stack are large enough, but the check was one item short. This won't matter in practice because MaxIndexTuplesPerPage is an overestimate, so you can't have that many items on a page in reality. But let's be tidy. Spotted by Anastasia Lubennikova. Backpatch to all supported versions, like the patch that added the assertion. --- diff --git a/src/backend/storage/page/bufpage.c b/src/backend/storage/page/bufpage.c index 6351a9bea4..a397fdcb35 100644 --- a/src/backend/storage/page/bufpage.c +++ b/src/backend/storage/page/bufpage.c @@ -793,7 +793,7 @@ PageIndexMultiDelete(Page page, OffsetNumber *itemnos, int nitems) int nextitm; OffsetNumber offnum; - Assert(nitems < MaxIndexTuplesPerPage); + Assert(nitems <= MaxIndexTuplesPerPage); /* * If there aren't very many items to delete, then retail