1
0
Fork 0
alistair23-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 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
cdc-phonet.c usbnet: remove direct access to urb->status 2010-07-05 18:50:55 -07:00
cdc_eem.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
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 cx82310_eth: allow empty URBs 2010-09-13 20:02:53 -07:00
dm9601.c drivers/net/usb: Use kmemdup 2010-05-17 17:44:48 -07:00
gl620a.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hso.c usb: Use static const, consolidate code 2010-12-21 02:16:09 -08:00
int51x1.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ipheth.c drivers/net/usb: Update WARN uses 2010-11-09 09:22:31 -08:00
kaweth.c ethtool: Provide a default implementation of ethtool_ops::get_drvinfo 2010-08-17 02:31:15 -07:00
mcs7830.c USB: mcs7830: return negative if auto negotiate fails 2010-12-23 10:21:12 -08:00
net1080.c drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
pegasus.c drivers/net/usb: Remove unnecessary casts of netdev_priv 2010-11-17 10:36:52 -08:00
pegasus.h usb: pegasus: fixed coding style issues 2010-06-30 10:26:16 -07:00
plusb.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
rndis_host.c net: Revert "rndis_host: Poll status channel before control channel" 2010-07-02 21:47:54 -07:00
rtl8150.c net: use netdev_mc_count and netdev_mc_empty when appropriate 2010-02-12 11:38:58 -08:00
sierra_net.c drivers/net: don't use flush_scheduled_work() 2010-12-12 16:45:14 +01:00
smsc75xx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
smsc75xx.h smsc75xx: SMSC LAN75xx USB gigabit ethernet adapter driver 2010-03-16 14:15:42 -07:00
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 drivers/net: Move && and || to end of previous line 2009-12-03 13:18:01 -08:00