]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Ip4Dxe/Ip4If.c
Fix a bug in IP4 driver when computing the network broadcast adress.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Ip4Dxe / Ip4If.c
index 3c29f75f886d29891fa6d32ea60847bb54214396..a843150f46d634a4ea67f057b1684e72ae41870c 100644 (file)
@@ -581,9 +581,10 @@ Ip4SetAddress (
   Interface->SubnetBrdcast  = (IpAddr | ~SubnetMask);\r
 \r
   Type                      = NetGetIpClass (IpAddr);\r
+  ASSERT (Type <= IP4_ADDR_CLASSC);\r
   Len                       = NetGetMaskLength (SubnetMask);\r
-  ASSERT (Len >= 1);\r
-  Netmask                   = gIp4AllMasks[MIN ((Len - 1), Type << 3)];\r
+  ASSERT (Len < IP4_MASK_NUM);\r
+  Netmask                   = gIp4AllMasks[MIN (Len, Type << 3)];\r
   Interface->NetBrdcast     = (IpAddr | ~Netmask);\r
 \r
   //\r