]> git.hungrycats.org Git - linux/commitdiff
[PACKET]: Fix deref before NULL check in packet_release()
authorDave Jones <davej@redhat.com>
Tue, 7 Sep 2004 06:24:36 +0000 (23:24 -0700)
committerPatrick McHardy <kaber@trash.net>
Tue, 7 Sep 2004 06:24:36 +0000 (23:24 -0700)
Using the automated source checker at coverity.com, they picked up
on some code in packet_release() where a NULL check was done
after dereferencing.  Patch below.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/packet/af_packet.c

index 51d0514fd2a7cd41eb0d445a39c809f2dcaa5f38..1b441a628b718d853b5cae01fa7ce1e69b08dfdf 100644 (file)
@@ -786,11 +786,13 @@ out:
 static int packet_release(struct socket *sock)
 {
        struct sock *sk = sock->sk;
-       struct packet_opt *po = pkt_sk(sk);
+       struct packet_opt *po;
 
        if (!sk)
                return 0;
 
+       po = pkt_sk(sk);
+
        write_lock_bh(&packet_sklist_lock);
        sk_del_node_init(sk);
        write_unlock_bh(&packet_sklist_lock);