[PATCH] USB: negative index in drivers/usb/host/isp116x-hcd.c
From: Eric Sesterhenn <snakebyte@gmx.de> This fixes coverity Bug #390. With the following code ret = ep->branch = balance(isp116x, ep->period, ep->load); if (ret < 0) goto fail; the problem is that ret and balance are of the type int, and ep->branch is u16. so the int balance() returns gets reduced to u16 and then converted to an int again, which removes the sign. Maybe the following little c program can explain it better:
This commit is contained in:
parent
b10cee9d03
commit
d5ce1379be
@ -781,7 +781,7 @@ static int isp116x_urb_enqueue(struct usb_hcd *hcd,
|
||||
if (ep->branch < PERIODIC_SIZE)
|
||||
break;
|
||||
|
||||
ret = ep->branch = balance(isp116x, ep->period, ep->load);
|
||||
ep->branch = ret = balance(isp116x, ep->period, ep->load);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
ret = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user