Check whether the Ipv6 address1 and address2 are on the connected network.\r
\r
ASSERT if Ip1 or Ip2 is NULL.\r
- ASSERT if PrefixLength exceeds IP6_PREFIX_MAX.\r
+ ASSERT if PrefixLength exceeds or equals to IP6_PREFIX_MAX.\r
\r
@param[in] Ip1 - Ip6 address1, in network order.\r
@param[in] Ip2 - Ip6 address2, in network order.\r
UINT8 Bit;\r
UINT8 Mask;\r
\r
- ASSERT ((Ip1 != NULL) && (Ip2 != NULL) && (PrefixLength <= IP6_PREFIX_MAX));\r
+ ASSERT ((Ip1 != NULL) && (Ip2 != NULL) && (PrefixLength < IP6_PREFIX_MAX));\r
\r
if (PrefixLength == 0) {\r
return TRUE;\r
if (Bit > 0) {\r
Mask = (UINT8) (0xFF << (8 - Bit));\r
\r
+ ASSERT (Byte < 16);\r
+ if (Byte >= 16) {\r
+ return FALSE;\r
+ }\r
if ((Ip1->Addr[Byte] & Mask) != (Ip2->Addr[Byte] & Mask)) {\r
return FALSE;\r
}\r