batman-adv: Even Batman should not dereference NULL pointers
authorJesper Juhl <jj@chaosbits.net>
Thu, 13 Jan 2011 20:53:38 +0000 (21:53 +0100)
committerSven Eckelmann <sven@narfation.org>
Thu, 13 Jan 2011 21:11:12 +0000 (22:11 +0100)
commited7809d9c41b514115ddffaa860694393c2016b3
treeef0e14d7477b2363f787ace24b683a439ea103f2
parent53320fe3bb1b1eef1aaff8dd47aae530ebeeb1e5
batman-adv: Even Batman should not dereference NULL pointers

There's a problem in net/batman-adv/unicast.c::frag_send_skb().
dev_alloc_skb() allocates memory and may fail, thus returning NULL. If
this happens we'll pass a NULL pointer on to skb_split() which in turn
hands it to skb_split_inside_header() from where it gets passed to
skb_put() that lets skb_tail_pointer() play with it and that function
dereferences it. And thus the bat dies.

While I was at it I also moved the call to dev_alloc_skb() above the
assignment to 'unicast_packet' since there's no reason to do that
assignment if the memory allocation fails.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
net/batman-adv/unicast.c