lkml.org 
[lkml]   [2009]   [Nov]   [3]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromKrzysztof Halasa <>
SubjectRe: [PATCH] IXP4xx: Ensure index is positive
DateTue, 03 Nov 2009 22:23:07 +0100
Karl Hiramoto <karl@hiramoto.org> writes:

>> +++ b/arch/arm/mach-ixp4xx/common.c
>> @@ -119,7 +119,7 @@ EXPORT_SYMBOL(gpio_to_irq);
>> int irq_to_gpio(int irq)
>> {
>> - int gpio = (irq < 32) ? irq2gpio[irq] : -EINVAL;
>> + int gpio = (irq < 32 && irq >= 0) ? irq2gpio[irq] : -EINVAL;
>> if (gpio == -1)
>> return -EINVAL;

>> +++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c
>> @@ -667,7 +667,7 @@ err:
>> struct npe *npe_request(int id)
>> {
>> - if (id < NPE_COUNT)
>> + if (id >= 0 && id < NPE_COUNT)

> changing npe_request() to unsigned would probably be better and not
> add to bloat. If your calling these functions with negative
> arguments, your code is buggy then.

Right. Both files in fact.

Even the id < NPE_COUNT test is probably not needed but I can imagine
someone lowering NPE_COUNT. Negative values are unreasonable (though
unsigned type make this unrelevant, of course).
--
Krzysztof Halasa


\
 
 \ /
  Last update: 2009-11-03 22:25    [W:0.184 / U:0.210 seconds]
©2003-2009 Jasper Spaans