Skip to content

Commit 09ccfd2

Browse files
congwangdavem330
authored andcommitted
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>
1 parent 5449996 commit 09ccfd2

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

Diff for: drivers/net/ppp/pptp.c

+6
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,9 @@ static int pptp_bind(struct socket *sock, struct sockaddr *uservaddr,
419419
struct pptp_opt *opt = &po->proto.pptp;
420420
int error = 0;
421421

422+
if (sockaddr_len < sizeof(struct sockaddr_pppox))
423+
return -EINVAL;
424+
422425
lock_sock(sk);
423426

424427
opt->src_addr = sp->sa_addr.pptp;
@@ -440,6 +443,9 @@ static int pptp_connect(struct socket *sock, struct sockaddr *uservaddr,
440443
struct flowi4 fl4;
441444
int error = 0;
442445

446+
if (sockaddr_len < sizeof(struct sockaddr_pppox))
447+
return -EINVAL;
448+
443449
if (sp->sa_protocol != PX_PROTO_PPTP)
444450
return -EINVAL;
445451

0 commit comments

Comments
 (0)