Messages in this thread | | | Date | Mon, 17 Dec 2007 19:10:17 +0100 | From | Eric Dumazet <> | Subject | Re: Signed divides vs shifts (Re: [Security] /dev/urandom uses uninit bytes, leaks user data) |
| |
On Mon, 17 Dec 2007 10:05:35 -0800 "Ray Lee" <ray-lk@madrabbit.org> wrote:
> On Dec 17, 2007 9:55 AM, Eric Dumazet <dada1@cosmosbay.com> wrote: > > - mid = (last - first) / 2 + first; > > + while (low <= high) { > > + mid = (low + high) / 2; > > I think you just introduced a bug. Think about what happens if > low=high=MAX_LONG/2 + 1. >
Fortunatly this is not possible :)
Hint : sizeof(struct exception_table_entry) is >= 8
so high is garanteed to be <= MAX_LONG/8
| |