mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
Comparing an int to a size, which is unsigned, causes the int to become unsigned, giving the wrong result. usb_get_descriptor can return a negative error code. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ int x; expression e,e1; identifier f; @@ *x = f(...); ... when != x = e1 when != if (x < 0 || ...) { ... return ...; } *x < sizeof(e) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
|---|---|---|
| .. | ||
| cbaf.c | ||
| crypto.c | ||
| dev-sysfs.c | ||
| devconnect.c | ||
| Kconfig | ||
| Makefile | ||
| mmc.c | ||
| pal.c | ||
| reservation.c | ||
| rh.c | ||
| security.c | ||
| wa-hc.c | ||
| wa-hc.h | ||
| wa-nep.c | ||
| wa-rpipe.c | ||
| wa-xfer.c | ||
| wusbhc.c | ||
| wusbhc.h | ||