8 Sep
2010
8 Sep
'10
11:40 a.m.
Dan Carpenter wrote:
I'm doing an audit to find integer overflows and my static checker complained that in the original code "device + 1" could overflow. The overflow is harmless, but it's still worth cleaning up. The other thing that I noticed is that if you pass in a device which is higher than SNDRV_RAWMIDI_DEVICES then it doesn't return an error code but just tells you that the next device is "device + 1".
I have rewritten it to just return -EINVAL if you pass in a bogus value that's either too high or too low.
A negative value is a valid input.
if (device > SNDRV_RAWMIDI_DEVICES)
return -EINVAL;
if (device >= SNDRV_RAWMIDI_DEVICES)
Regards, Clemens