]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fix a bug in IP4 driver when computing the network broadcast adress.
authorFu, Siyuan <siyuan.fu@intel.com>
Mon, 30 Jun 2014 07:48:23 +0000 (07:48 +0000)
committersfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 30 Jun 2014 07:48:23 +0000 (07:48 +0000)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu, Siyuan <siyuan.fu@intel.com>
Reviewed-By: Ye, Ting <ting.ye@intel.com>
Reviewed-by: Wu, Jiaxin <jiaxin.wu@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15603 6f19259b-4bc3-4df7-8a09-765794883524

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