Hello.
Function bringetbitmap() in src/backend/access/brin/brin.c:560 returns
type int64. But the returned variable 'totalpages' is of type int. Maybe
it makes sense to change the type of variable 'totalpages' to int64 to
avoid possible overflow in expression 'totalpages * 10'?
Patch is included in the attachment.
Best regards,
Evgeniy Gorbanyov
diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index c0b978119a..be72484c19 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -567,7 +567,7 @@ bringetbitmap(IndexScanDesc scan, TIDBitmap *tbm)
BrinOpaque *opaque;
BlockNumber nblocks;
BlockNumber heapBlk;
- int totalpages = 0;
+ int64 totalpages = 0;
FmgrInfo *consistentFn;
MemoryContext oldcxt;
MemoryContext perRangeCxt;