]> granicus.if.org Git - postgresql/commitdiff
Fix off-by-one error in Assertion.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 19 May 2015 16:21:46 +0000 (19:21 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 19 May 2015 16:26:10 +0000 (19:26 +0300)
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.

src/backend/storage/page/bufpage.c

index 4f32333f42de58bc6918a406c3f5067514600ba1..71e7f5aaa23bb66e8c9edbb72c5bc5f7164f3d63 100644 (file)
@@ -723,7 +723,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