From d9d7b59486499615a5fdce54443ce62aecf557e8 Mon Sep 17 00:00:00 2001 From: "Andrey V. Elsukov" Date: Thu, 2 Apr 2026 13:14:29 +0300 Subject: [PATCH] ipfw_nptv6: fix handling the ifaddr removal event The result of IN6_ARE_MASKED_ADDR_EQUAL() macro is not an integer, so threat it as a boolean value. PR: 294114 Reported by: Peter Much MFC after: 1 week --- sys/netpfil/ipfw/nptv6/nptv6.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netpfil/ipfw/nptv6/nptv6.c b/sys/netpfil/ipfw/nptv6/nptv6.c index bfe28d75a01..c36e9597fe2 100644 --- a/sys/netpfil/ipfw/nptv6/nptv6.c +++ b/sys/netpfil/ipfw/nptv6/nptv6.c @@ -593,8 +593,8 @@ ifaddr_cb(struct namedobj_instance *ni, struct named_object *no, if ((cfg->flags & NPTV6_READY) == 0) return (0); /* If address does not match the external prefix, ignore */ - if (IN6_ARE_MASKED_ADDR_EQUAL(&cfg->external, args->addr, - &cfg->mask) != 0) + if (!IN6_ARE_MASKED_ADDR_EQUAL(&cfg->external, args->addr, + &cfg->mask)) return (0); /* Otherwise clear READY flag */ cfg->flags &= ~NPTV6_READY;