]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- fix for https://lkml.org/lkml/2015/12/14/252
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 15 Dec 2015 12:51:56 +0000 (13:51 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Tue, 15 Dec 2015 12:51:56 +0000 (13:51 +0100)
kernel-small_fixes.patch

index a0928ee62871ca10c67827acbc6519ca0355b3af..01eef92f0867f04d5dc8a06a594d888e1631e67e 100644 (file)
@@ -670,3 +670,42 @@ index 45dcbcb5c594..0975da8e3432 100644
 -- 
 2.6.2
 
+From 09ccfd238e5a0e670d8178cf50180ea81ae09ae1 Mon Sep 17 00:00:00 2001
+From: WANG Cong <xiyou.wangcong@gmail.com>
+Date: Mon, 14 Dec 2015 13:48:36 -0800
+Subject: pptp: verify sockaddr_len in pptp_bind() and pptp_connect()
+
+Reported-by: Dmitry Vyukov <dvyukov@gmail.com>
+Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ppp/pptp.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/drivers/net/ppp/pptp.c b/drivers/net/ppp/pptp.c
+index fc69e41..597c53e 100644
+--- a/drivers/net/ppp/pptp.c
++++ b/drivers/net/ppp/pptp.c
+@@ -419,6 +419,9 @@ static int pptp_bind(struct socket *sock, struct sockaddr *uservaddr,
+       struct pptp_opt *opt = &po->proto.pptp;
+       int error = 0;
++      if (sockaddr_len < sizeof(struct sockaddr_pppox))
++              return -EINVAL;
++
+       lock_sock(sk);
+       opt->src_addr = sp->sa_addr.pptp;
+@@ -440,6 +443,9 @@ static int pptp_connect(struct socket *sock, struct sockaddr *uservaddr,
+       struct flowi4 fl4;
+       int error = 0;
++      if (sockaddr_len < sizeof(struct sockaddr_pppox))
++              return -EINVAL;
++
+       if (sp->sa_protocol != PX_PROTO_PPTP)
+               return -EINVAL;
+-- 
+cgit v0.11.2
+
This page took 0.07177 seconds and 4 git commands to generate.