net: check the length of the socket address passed to connect(2)
[safe/jmp/linux-2.6] / net / ipv6 / tcp_ipv6.c
index 2c378b1..9b6dbba 100644 (file)
@@ -1740,8 +1740,9 @@ process:
                        if (!tcp_prequeue(sk, skb))
                                ret = tcp_v6_do_rcv(sk, skb);
                }
-       } else if (sk_add_backlog(sk, skb)) {
+       } else if (unlikely(sk_add_backlog(sk, skb))) {
                bh_unlock_sock(sk);
+               NET_INC_STATS_BH(net, LINUX_MIB_TCPBACKLOGDROP);
                goto discard_and_relse;
        }
        bh_unlock_sock(sk);