postgres.git / summary / log / commit / refs

commit    de5afddc3ba4aa41f341f62347ce40bb9ea9d78b
Author:   Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:     Mon Oct 28 12:07:38 2024 +0000
First released in: 18.0, 14.14, 15.9, 16.5, 17.1

    Fix overflow in bsearch_arg() with more than INT_MAX elements
    
    This was introduced in commit bfa2cee784, which replaced the old
    bsearch_cmp() function we had in extended_stats.c with the current
    implementation. The original discussion or commit message of
    bfa2cee784 didn't mention where the new implementation came from, but
    based on some googling, I'm guessing *BSD or libiberty, all of which
    share this same code, with or without this fix.
    
    Author: Ranier Vilela
    Reviewed-by: Nathan Bossart
    Backpatch-through: 14
    Discussion: https://www.postgresql.org/message-id/CAEudQAp34o_8u6sGSVraLwuMv9F7T9hyHpePXHmRaxR2Aboi%2Bw%40mail.gmail.com


src/port/bsearch_arg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/port/bsearch_arg.c b/src/port/bsearch_arg.c index f0de467beee..e0446a9f075 100644 --- a/src/port/bsearch_arg.c +++ b/src/port/bsearch_arg.c @@ -58,8 +58,8 @@ bsearch_arg(const void *key, const void *base0, void *arg) { const char *base = (const char *) base0; - int lim, - cmp; + size_t lim; + int cmp; const void *p; for (lim = nmemb; lim != 0; lim >>= 1) [parent: 22bb889f7080]