Re: [PATCH] USB CDC NCM: Don't deref NULL in cdc_ncm_rx_fixup()and don't use uninitialized variable.

From: David Miller
Date: Fri Jan 14 2011 - 00:50:08 EST


From: Jesper Juhl <jj@xxxxxxxxxxxxx>
Date: Thu, 13 Jan 2011 22:40:11 +0100 (CET)

> skb_clone() dynamically allocates memory and may fail. If it does it
> returns NULL. This means we'll dereference a NULL pointer in
> drivers/net/usb/cdc_ncm.c::cdc_ncm_rx_fixup().
> As far as I can tell, the proper way to deal with this is simply to goto
> the error label.
>
> Furthermore gcc complains that 'skb' may be used uninitialized:
> drivers/net/usb/cdc_ncm.c: In function ʽcdc_ncm_rx_fixupʼ:
> drivers/net/usb/cdc_ncm.c:922:18: warning: ʽskbʼ may be used uninitialized in this function
> and I believe it is right. On the line where we
> pr_debug("invalid frame detected (ignored)" ...
> we are using the local variable 'skb' but nothing has ever been assigned
> to that variable yet. I believe the correct fix for that is to use
> 'skb_in' instead.
>
> Signed-off-by: Jesper Juhl <jj@xxxxxxxxxxxxx>

Applied.
θΊ{.nΗ+?·???­?+%?Λlzwm?ιb?맲ζμrΈ?zX§»?w??{ayΊΚ?Ϊ?λ,j­ʼf£ʼ·h??ΰzΉ?w?ʼΈ ʼ·¦j:+v?¨?wθjΨmΆ??Ύ«?κηzZ+?ω???έʼj"?ϊ!ΆiO?ζ¬z·?vΨ^Άm§?πΓ nΖ?ΰώY&?