Fix integer overflow bug in GiST buffering build calculations.

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: 4bc6fb57f774ea18187fd8565aad9994160bfc17
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2012-05-29T19:27:42Z
Releases: 9.2.0
Fix integer overflow bug in GiST buffering build calculations.

The result of (maintenance_work_mem * 1024) / BLCKSZ doesn't fit in a signed
32-bit integer, if maintenance_work_mem >= 2GB. Use double instead. And
while we're at it, write the calculations in an easier to understand form,
with the intermediary steps written out and commented.

Files

PathChange+/−
src/backend/access/gist/gistbuild.c modified +23 −9