Hi Wolfgang,
On Mon, Oct 21, 2013 at 3:55 PM, Wolfgang Denk <[email protected]> wrote:
>
> Dear Michael,
>
> In message
> <capx6zwhln-vabzqoyamf+t2vyqec3mzdi1e_kdtvzg8okjm...@mail.gmail.com> you
> wrote:
> >
> > > > it's possible that these checks could be simply optimised away. The
> > >
> > > This is not hwat happens.
> >
> > Actually, it is my understanding that the "if (p + len < p)" can be
> > optimized away. This exact case is discussed in the LWN article "GCC and
> > pointer overflows"[1].
>
> No, this does not apply here. You miss a key point. We are not doing
> any pointer arithmetics here. We have:
>
> int offset;
> unsigned int len;
>
> and then do:
>
> if (((offset + len) < offset) ...)
We seem to have a misunderstanding, I did not mean to imply that the
"offset + len"
expression was undefined. I agree that it is fine. I was referring
to this statement from
Aaron's original email:
if (p + len < p)
Which is following:
const char *p;
unsigned int len;
That is the statement which is utilizing pointer overflow.
.
>
> > --001a1133769056575204e93035f1
> > Content-Type: text/html; charset=UTF-8
> > Content-Transfer-Encoding: quoted-printable
>
> Can you please stop posting HTML? Thanks!
Sorry about that! Hopefully this message is correct.
Regards,
Michael Pratt
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot