From e82769c596249884aa9f240f1e551540667b3a37 Mon Sep 17 00:00:00 2001 From: "Charles E. Youse" Date: Tue, 19 Mar 2019 08:01:12 -0700 Subject: [PATCH] net/ip: fix input packet filtering criteria The "is this packet for us?" filter in net_ipv4_input() has a minor logic error which fails to discard many packets which are.. not for us. Fixes: #14647 Signed-off-by: Charles E. Youse --- subsys/net/ip/ipv4.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subsys/net/ip/ipv4.c b/subsys/net/ip/ipv4.c index c3975beba07d0..62c71c96ef5f5 100644 --- a/subsys/net/ip/ipv4.c +++ b/subsys/net/ip/ipv4.c @@ -208,8 +208,8 @@ enum net_verdict net_ipv4_input(struct net_pkt *pkt) goto drop; } - if (!net_ipv4_is_my_addr(&hdr->dst) && - !net_ipv4_is_addr_mcast(&hdr->dst) && + if ((!net_ipv4_is_my_addr(&hdr->dst) && + !net_ipv4_is_addr_mcast(&hdr->dst)) || ((hdr->proto == IPPROTO_UDP && net_ipv4_addr_cmp(&hdr->dst, net_ipv4_broadcast_address()) && !IS_ENABLED(CONFIG_NET_DHCPV4)) ||