linux/drivers/net/usb
Jesper Juhl 9e56790ad3 USB CDC NCM: Don't deref NULL in cdc_ncm_rx_fixup() and don't use uninitialized variable.
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@chaosbits.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-01-13 21:48:26 -08:00
..
Kconfig USB CDC NCM host driver 2010-12-06 12:59:03 -08:00
Makefile USB CDC NCM host driver 2010-12-06 12:59:03 -08:00
asix.c asix: add USB ID for Logitec LAN-GTJ U2A 2010-12-17 11:50:20 -08:00
catc.c
cdc-phonet.c
cdc_eem.c
cdc_ether.c USB: cdc_ether: remove unneeded check 2010-12-31 11:11:38 -08:00
cdc_ncm.c USB CDC NCM: Don't deref NULL in cdc_ncm_rx_fixup() and don't use uninitialized variable. 2011-01-13 21:48:26 -08:00
cdc_subset.c
cx82310_eth.c
dm9601.c
gl620a.c
hso.c usb: Use static const, consolidate code 2010-12-21 02:16:09 -08:00
int51x1.c
ipheth.c
kaweth.c
mcs7830.c USB: mcs7830: return negative if auto negotiate fails 2010-12-23 10:21:12 -08:00
net1080.c
pegasus.c drivers/net/usb: Remove unnecessary casts of netdev_priv 2010-11-17 10:36:52 -08:00
pegasus.h
plusb.c
rndis_host.c
rtl8150.c
sierra_net.c drivers/net: don't use flush_scheduled_work() 2010-12-12 16:45:14 +01:00
smsc75xx.c
smsc75xx.h
smsc95xx.c net: Use skb_checksum_start_offset() 2010-12-16 14:43:14 -08:00
smsc95xx.h
usbnet.c drivers/net: don't use flush_scheduled_work() 2010-12-12 16:45:14 +01:00
zaurus.c