[PATCH] Infinite loop/always true check possible with unsigned counter.
Paul Mackerras
paulus at samba.org
Tue Jul 10 10:19:20 EST 2007
Manish Ahuja writes:
> Repost to fix my email id.
>
> Fix to correct a possible infinite loop or an always true check when the
> unsigned long counter "i" is used in
> lmb_add_region() in the following for loop:
>
> for (i = rgn->cnt-1; i >= 0; i--)
Unfortunately this won't fix the bug. Since rgn->cnt is unsigned
long, the comparison will be done as an unsigned comparison even if i
is signed.
Instead, change the loop to go from rgn->cnt down to 1, and in the
loop body, change all instances of "i+1" to "i", and "i" to "i-1".
Paul.
More information about the Linuxppc-dev
mailing list