Re: Signed divides vs shifts (Re: [Security] /dev/urandom uses uninit bytes, leaks user data)

From: Ray Lee
Date: Mon Dec 17 2007 - 13:13:01 EST


On Dec 17, 2007 10:10 AM, Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:
> On Mon, 17 Dec 2007 10:05:35 -0800
> "Ray Lee" <ray-lk@xxxxxxxxxxxxx> wrote:
>
> > On Dec 17, 2007 9:55 AM, Eric Dumazet <dada1@xxxxxxxxxxxxx> 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

Ah, my bad. One of these days I'll learn to not post before coffee.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/