DragonFlyBSD Kernel Audit
DF-0290 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/netproto/802_11/wlan/ieee80211_mesh.c b/sys/netproto/802_11/wlan/ieee80211_mesh.c
--- a/sys/netproto/802_11/wlan/ieee80211_mesh.c
+++ b/sys/netproto/802_11/wlan/ieee80211_mesh.c
@@ -2646,7 +2646,7 @@
 	TAILQ_FOREACH_SAFE(gr, &ms->ms_known_gates, gr_next, next) {
 		if (!IEEE80211_ADDR_EQ(gr->gr_addr, ie.gann_addr))
 			continue;
-		if (ie.gann_seq <= gr->gr_lastseq) {
+		if ((int32_t)(ie.gann_seq - gr->gr_lastseq) <= 0) {
 			IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_MESH,
 			    ni->ni_macaddr, NULL,
 			    "GANN old seqno %u <= %u",