]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[PATCH] ctnetlink: check if protoinfo is present
authorHarald Welte <laforge@netfilter.org>
Tue, 15 Nov 2005 12:32:36 +0000 (13:32 +0100)
committerChris Wright <chrisw@osdl.org>
Thu, 24 Nov 2005 22:10:09 +0000 (14:10 -0800)
This fixes an oops triggered from userspace. If we don't pass information
about the private protocol info, the reference to attr will be NULL. This is
likely to happen in update messages.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/ipv4/netfilter/ip_conntrack_proto_tcp.c

index d6701cafbcc22311156a92e06fae3e29a02be8ac..bb6ae0815a6be6e897d9b64486c4ac7f55207a37 100644 (file)
@@ -362,6 +362,11 @@ static int nfattr_to_tcp(struct nfattr *cda[], struct ip_conntrack *ct)
        struct nfattr *attr = cda[CTA_PROTOINFO_TCP-1];
        struct nfattr *tb[CTA_PROTOINFO_TCP_MAX];
 
+       /* updates could not contain anything about the private
+        * protocol info, in that case skip the parsing */
+       if (!attr)
+               return 0;
+
         if (nfattr_parse_nested(tb, CTA_PROTOINFO_TCP_MAX, attr) < 0)
                 goto nfattr_failure;