linux/net/batman-adv
Sven Eckelmann fd7dec25a1 batman-adv: Fix memory leak on tt add with invalid vlan
The object tt_local is allocated with kmalloc and not initialized when the
function batadv_tt_local_add checks for the vlan. But this function can
only cleanup the object when the (not yet initialized) reference counter of
the object is 1. This is unlikely and thus the object would leak when the
vlan could not be found.

Instead the uninitialized object tt_local has to be freed manually and the
pointer has to set to NULL to avoid calling the function which would try to
decrement the reference counter of the not existing object.

CID: 1316518
Fixes: 354136bcc3 ("batman-adv: fix kernel crash due to missing NULL checks")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-08-18 19:08:23 -07:00
..
bat_algo.h batman-adv: update copyright years for 2015 2015-05-29 10:13:35 +02:00
bat_iv_ogm.c batman-adv: Clarify calculation precedence for '&' and '?' 2015-06-07 17:07:19 +02:00
bitarray.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
bitarray.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
bridge_loop_avoidance.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
bridge_loop_avoidance.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
debugfs.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
debugfs.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
distributed-arp-table.c batman-adv: avoid DAT to mess up LAN state 2015-08-05 00:31:46 +02:00
distributed-arp-table.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
fragmentation.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
fragmentation.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
gateway_client.c batman-adv: initialize up/down values when adding a gateway 2015-08-05 00:31:47 +02:00
gateway_client.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
gateway_common.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
gateway_common.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
hard-interface.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
hard-interface.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
hash.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
hash.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
icmp_socket.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
icmp_socket.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
Kconfig
main.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
main.h batman-adv: Clarify calculation precedence for '&' and '?' 2015-06-07 17:07:19 +02:00
Makefile batman-adv: Makefile, Sort alphabetically 2015-05-29 10:13:36 +02:00
multicast.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
multicast.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
network-coding.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
network-coding.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
originator.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
originator.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
packet.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
routing.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
routing.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
send.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
send.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
soft-interface.c batman-adv: fix kernel crash due to missing NULL checks 2015-08-05 00:31:46 +02:00
soft-interface.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
sysfs.c batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
sysfs.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
translation-table.c batman-adv: Fix memory leak on tt add with invalid vlan 2015-08-18 19:08:23 -07:00
translation-table.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00
types.h batman-adv: Add required includes to all files 2015-06-07 17:07:19 +02:00