DragonFlyBSD Kernel Audit
DF-0551 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/net/vlan/if_vlan.c b/sys/net/vlan/if_vlan.c
--- a/sys/net/vlan/if_vlan.c
+++ b/sys/net/vlan/if_vlan.c
@@ -727,7 +727,8 @@
 	if (ifp_p->if_capenable & IFCAP_VLAN_MTU)
 		ifp->if_mtu = ifp_p->if_mtu;
 	else
-		ifp->if_mtu = ifp_p->if_data.ifi_mtu - EVL_ENCAPLEN;
+		ifp->if_mtu = (ifp_p->if_data.ifi_mtu >= EVL_ENCAPLEN) ?
+		    ifp_p->if_data.ifi_mtu - EVL_ENCAPLEN : ifp_p->if_data.ifi_mtu;
 
 	/*
 	 * Copy only a selected subset of flags from the parent.