staging: gdm72xx: fix an skb memory leak
authorJavier Martinez Canillas <javier@dowhile0.org>
Tue, 26 Jun 2012 22:22:20 +0000 (00:22 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 26 Jun 2012 22:39:37 +0000 (15:39 -0700)
commit2da049bd5f9b0dbd688519fdb6688a4895fe8395
tree038ad1358269b1883733c0b6e2017ac171b00731
parente8abca1f30239f6c979f60df49305a602672cb94
staging: gdm72xx: fix an skb memory leak

The NLMSG_PUT() macro contains a hidden goto that jumps to the
nlmsg_failure label. Since the sk_buff was allocated before the macro,
jumping to the nlmsg_failure label leaks the memory allocated for it.

Calling kfree() before returning would fix it, but is better to avoid
using this error prone macro and use nlmsg_put() instead.

Also, use nlmsg_data() instead of NLMSG_DATA() to check type.

Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/gdm72xx/netlink_k.c