Re: [PATCH 2.6.19] drivers/media/video/cpia2/cpia2_usb.c: Free previously allocated memory (in array elements) if kmalloc() returns NULL.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 8 Dec 2006, Mariusz Kozlowski wrote:

> > > Just for future. Shorter and more readable version of your for(...) thing:
> > > 
> > > 	while (i--) {
> > > 		...
> > > 	}
> > > 
> > 
> > No, that is not equivalent.
> > 
> > You want
> > 	while (i-- >= 0) {
> > 		...
> > 	}
> > 
> 
> Not really. That will stop at -1 not 0.
> 

It depends on your intent.  Generally speaking,

	while (i--) {
		...
	}

is never what you want.  Adding the check for being greater than 0 stops 
potential bugs from signed int i being negative.  The only drawback on x86 
is that it sets a byte based on the greater condition with setg and tests 
it later with testb for every iteration.  This use of testb will _always_ 
use the same addressable byte registers for both its operands.

Based on this particular patch, I agree that

	while (i-- > 0) {
		...
	}

will do the job.  This is equivalent to the original for loop and ensures 
that a negative value of i is never iterated on (even though it admittedly 
would never be negative in this instance to begin with).

		David
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux