On Fri, Dec 04, 2020 at 06:24:49AM +0000, Bui Quang Minh wrote:
> This error path
> 
>       err_add_pdata:
>               for (i = 0; i < mod_data.num; i++)
>                       kfree(dum[i]);
> 
> can be triggered when not all dum's elements are initialized.
> 
> Fix this by initializing all dum's elements to NULL.
> 
> Signed-off-by: Bui Quang Minh <minhquangbu...@gmail.com>
> ---
>  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 0eeaead..a2cf009 100644
> --- a/drivers/usb/gadget/udc/dummy_hcd.c
> +++ b/drivers/usb/gadget/udc/dummy_hcd.c
> @@ -2734,7 +2734,7 @@ static int __init init(void)
>  {
>       int     retval = -ENOMEM;
>       int     i;
> -     struct  dummy *dum[MAX_NUM_UDC];
> +     struct  dummy *dum[MAX_NUM_UDC] = {};
>  
>       if (usb_disabled())
>               return -ENODEV;

Acked-by: Alan Stern <st...@rowland.harvard.edu>

Does this initialization end up using less memory than an explicit 
memset() call?

Alan Stern

Reply via email to