I found following expression in md.c:

 seekpos = (long) (BLCKSZ * (blocknum % ((BlockNumber) RELSEG_SIZE)));

all variables and constants are int (32-bit) and long (also very often 32-bit). In case when somebody want to change RELSEG_SIZE to value related to 4GB and bigger chunk he can expect data overwriting.

This seek problem is on more places, however in standard compilation chunk size is 1GB and this problem does not appear.

I'm going to fix it.


                Zdenek

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to