aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/pptp.c
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2011-10-17 17:01:47 +0000
committerDavid S. Miller <davem@davemloft.net>2011-10-19 02:39:43 -0400
commit8bae8bd6cb24eecad9fda3e125d36ab9c67d3fd7 (patch)
tree2cfbe13ebde2a8d771688a27e702554f1b2ea912 /drivers/net/pptp.c
parentbonding: use local function pointer of bond->recv_probe in bond_handle_frame (diff)
downloadlinux-dev-8bae8bd6cb24eecad9fda3e125d36ab9c67d3fd7.tar.xz
linux-dev-8bae8bd6cb24eecad9fda3e125d36ab9c67d3fd7.zip
pptp: fix skb leak in pptp_xmit()
In case we cant transmit skb, we must free it Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> CC: Dmitry Kozlov <xeb@mail.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/pptp.c')
-rw-r--r--drivers/net/pptp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/pptp.c b/drivers/net/pptp.c
index eae542a7e987..9c0403d0107c 100644
--- a/drivers/net/pptp.c
+++ b/drivers/net/pptp.c
@@ -285,8 +285,10 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
ip_send_check(iph);
ip_local_out(skb);
+ return 1;
tx_error:
+ kfree_skb(skb);
return 1;
}