BRIN integer overflow - Mailing list pgsql-hackers

From Oleg Tselebrovskiy
Subject BRIN integer overflow
Date
Msg-id 299898ccd43fcdc32226478a0a3b4ac8@postgrespro.ru
Whole thread Raw
Responses Re: BRIN integer overflow
List pgsql-hackers
Greetings, everyone!

While analyzing output of Svace static analyzer [1] I've found a bug

Function bringetbitmap that is used in BRIN's IndexAmRoutine should 
return an
int64 value, but the actual return value is int, since totalpages is int 
and
totalpages * 10 is also int. This could lead to integer overflow

I suggest to change totalpages to be int64 to avoid potential overflow.
Also in all other "amgetbitmap functions" (such as hashgetbitmap, 
gistgetbitmap,
gingetbitmap, blgetbitmap) the return value is of correct int64 type

The proposed patch is attached

[1] - https://svace.pages.ispras.ru/svace-website/en/

Oleg Tselebrovskiy, Postgres Pro
Attachment

pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: WIP Incremental JSON Parser
Next
From: Michael Paquier
Date:
Subject: Re: Add lookup table for replication slot invalidation causes