potential integer overflow in md.c - Mailing list pgsql-bugs

From Zdenek Kotala
Subject potential integer overflow in md.c
Date
Msg-id 4613D1D7.5060307@sun.com
Whole thread Raw
Responses Re: potential integer overflow in md.c
List pgsql-bugs
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

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: BUG #3048: pg_dump dumps intarray metadata incorrectly
Next
From: Tom Lane
Date:
Subject: Re: potential integer overflow in md.c