aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/nf_conntrack_irc.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2021-05-05 22:30:49 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2021-05-05 23:45:48 +0200
commit198ad973839ca4686f3575155ba9ff178289905f (patch)
tree84be795e49b224992fb1ccee0b4d679b364fb919 /net/netfilter/nf_conntrack_irc.c
parentnetfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check (diff)
downloadlinux-dev-198ad973839ca4686f3575155ba9ff178289905f.tar.xz
linux-dev-198ad973839ca4686f3575155ba9ff178289905f.zip
netfilter: remove BUG_ON() after skb_header_pointer()
Several conntrack helpers and the TCP tracker assume that skb_header_pointer() never fails based on upfront header validation. Even if this should not ever happen, BUG_ON() is a too drastic measure, remove them. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nf_conntrack_irc.c')
-rw-r--r--net/netfilter/nf_conntrack_irc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/netfilter/nf_conntrack_irc.c b/net/netfilter/nf_conntrack_irc.c
index e40988a2f22f..08ee4e760a3d 100644
--- a/net/netfilter/nf_conntrack_irc.c
+++ b/net/netfilter/nf_conntrack_irc.c
@@ -143,7 +143,10 @@ static int help(struct sk_buff *skb, unsigned int protoff,
spin_lock_bh(&irc_buffer_lock);
ib_ptr = skb_header_pointer(skb, dataoff, skb->len - dataoff,
irc_buffer);
- BUG_ON(ib_ptr == NULL);
+ if (!ib_ptr) {
+ spin_unlock_bh(&irc_buffer_lock);
+ return NF_ACCEPT;
+ }
data = ib_ptr;
data_limit = ib_ptr + skb->len - dataoff;