mISDN: Fixing missing validation in base_sock_bind()
authorEmrah Demir <ed@abdsec.com>
Fri, 8 Apr 2016 19:16:11 +0000 (22:16 +0300)
committerWilly Tarreau <w@1wt.eu>
Fri, 10 Feb 2017 10:03:48 +0000 (11:03 +0100)
commit b821646826e22f0491708768fccce58eef3f5704 upstream.

Add validation code into mISDN/socket.c

Signed-off-by: Emrah Demir <ed@abdsec.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/isdn/mISDN/socket.c

index 5cefb479c7072359c5c7289d68063925da39797c..00bd80a6389501693c996e2177b62472f4f5add8 100644 (file)
@@ -717,6 +717,9 @@ base_sock_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
        if (!maddr || maddr->family != AF_ISDN)
                return -EINVAL;
 
+       if (addr_len < sizeof(struct sockaddr_mISDN))
+               return -EINVAL;
+
        lock_sock(sk);
 
        if (_pms(sk)->dev) {