From: Colin Ian King <[email protected]>
The while loop never terminates because the loop counter i is never
decremented. Fix this by decrementing i.
Detected by CoverityScan, CID#751073 ("Infinite Loop")
Signed-off-by: Colin Ian King <[email protected]>
---
drivers/usb/gadget/udc/dummy_hcd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c
index 3c3760315910..a030d7923d7d 100644
--- a/drivers/usb/gadget/udc/dummy_hcd.c
+++ b/drivers/usb/gadget/udc/dummy_hcd.c
@@ -2776,7 +2776,7 @@ static int __init init(void)
if (retval < 0) {
i--;
while (i >= 0)
- platform_device_del(the_udc_pdev[i]);
+ platform_device_del(the_udc_pdev[i--]);
goto err_add_udc;
}
}
--
2.11.0
On Tue, 15 Aug 2017, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> The while loop never terminates because the loop counter i is never
> decremented. Fix this by decrementing i.
>
> Detected by CoverityScan, CID#751073 ("Infinite Loop")
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/usb/gadget/udc/dummy_hcd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c
> index 3c3760315910..a030d7923d7d 100644
> --- a/drivers/usb/gadget/udc/dummy_hcd.c
> +++ b/drivers/usb/gadget/udc/dummy_hcd.c
> @@ -2776,7 +2776,7 @@ static int __init init(void)
> if (retval < 0) {
> i--;
> while (i >= 0)
> - platform_device_del(the_udc_pdev[i]);
> + platform_device_del(the_udc_pdev[i--]);
> goto err_add_udc;
> }
> }
Acked-by: Alan Stern <[email protected]>