postgres.git / summary / log / commit / refs

commit    ada84478d89a49e305b79022a8ee0d2f12bcfc5f
Author:   Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:     Tue May 19 16:21:46 2015 +0000
First released in: 9.5.0, 9.0.20, 9.1.16, 9.2.11, 9.3.7, 9.4.2

    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.


src/backend/storage/page/bufpage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/storage/page/bufpage.c b/src/backend/storage/page/bufpage.c index 6351a9bea47..a397fdcb35b 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 [parent: 7aeba23ee2ca]