X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FLibrary%2FDxeNetLib%2FDxeNetLib.c;h=90d2e3e64d86d1608e3050ecb933d90dfa34ddb1;hb=e12ceb40ce5eaeabee39fea362cd9fe3374c223c;hp=cbce28f1ba58fb1078b17f6299666f8536ce976b;hpb=c5fcec8c3fe2fa82065aace4d20c6bc30a0f5783;p=mirror_edk2.git diff --git a/MdeModulePkg/Library/DxeNetLib/DxeNetLib.c b/MdeModulePkg/Library/DxeNetLib/DxeNetLib.c index cbce28f1ba..90d2e3e64d 100644 --- a/MdeModulePkg/Library/DxeNetLib/DxeNetLib.c +++ b/MdeModulePkg/Library/DxeNetLib/DxeNetLib.c @@ -804,7 +804,7 @@ NetIp6IsLinkLocalAddr ( Check whether the Ipv6 address1 and address2 are on the connected network. ASSERT if Ip1 or Ip2 is NULL. - ASSERT if PrefixLength exceeds IP6_PREFIX_MAX. + ASSERT if PrefixLength exceeds or equals to IP6_PREFIX_MAX. @param[in] Ip1 - Ip6 address1, in network order. @param[in] Ip2 - Ip6 address2, in network order. @@ -826,7 +826,7 @@ NetIp6IsNetEqual ( UINT8 Bit; UINT8 Mask; - ASSERT ((Ip1 != NULL) && (Ip2 != NULL) && (PrefixLength <= IP6_PREFIX_MAX)); + ASSERT ((Ip1 != NULL) && (Ip2 != NULL) && (PrefixLength < IP6_PREFIX_MAX)); if (PrefixLength == 0) { return TRUE; @@ -842,6 +842,10 @@ NetIp6IsNetEqual ( if (Bit > 0) { Mask = (UINT8) (0xFF << (8 - Bit)); + ASSERT (Byte < 16); + if (Byte >= 16) { + return FALSE; + } if ((Ip1->Addr[Byte] & Mask) != (Ip2->Addr[Byte] & Mask)) { return FALSE; }