diff --git a/NetworkPkg/Ip6Dxe/Ip6Common.c b/NetworkPkg/Ip6Dxe/Ip6Common.c
index 4f71d052bf..7007301f81 100644
--- a/NetworkPkg/Ip6Dxe/Ip6Common.c
+++ b/NetworkPkg/Ip6Dxe/Ip6Common.c
@@ -1,7 +1,7 @@
/** @file
The implementation of common functions shared by IP6 driver.
- Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -428,7 +428,7 @@ Ip6RemoveAddr (
IP6_ADDRESS_INFO *AddrInfo;
EFI_IPv6_ADDRESS SnMCastAddr;
- if (IsListEmpty (AddressList) || *AddressCount < 1 || PrefixLength > IP6_PREFIX_NUM) {
+ if (IsListEmpty (AddressList) || *AddressCount < 1 || PrefixLength > IP6_PREFIX_MAX) {
return EFI_INVALID_PARAMETER;
}
@@ -606,7 +606,7 @@ Ip6CopyAddressByPrefix (
UINT8 Mask;
ASSERT (Dest != NULL && Src != NULL);
- ASSERT (PrefixLength < IP6_PREFIX_NUM);
+ ASSERT (PrefixLength <= IP6_PREFIX_MAX);
Byte = (UINT8) (PrefixLength / 8);
Bit = (UINT8) (PrefixLength % 8);
diff --git a/NetworkPkg/Ip6Dxe/Ip6Icmp.c b/NetworkPkg/Ip6Dxe/Ip6Icmp.c
index f6a9bb406f..1828d51a7d 100644
--- a/NetworkPkg/Ip6Dxe/Ip6Icmp.c
+++ b/NetworkPkg/Ip6Dxe/Ip6Icmp.c
@@ -1,7 +1,7 @@
/** @file
The ICMPv6 handle routines to process the ICMPv6 control messages.
- Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
(C) Copyright 2016 Hewlett Packard Enterprise Development LP
This program and the accompanying materials
@@ -473,14 +473,14 @@ Ip6GetPrefix (
UINT8 Mask;
UINT8 Value;
- ASSERT ((Prefix != NULL) && (PrefixLength < IP6_PREFIX_NUM));
+ ASSERT ((Prefix != NULL) && (PrefixLength < IP6_PREFIX_MAX));
if (PrefixLength == 0) {
ZeroMem (Prefix, sizeof (EFI_IPv6_ADDRESS));
return ;
}
- if (PrefixLength >= IP6_PREFIX_NUM - 1) {
+ if (PrefixLength >= IP6_PREFIX_MAX) {
return ;
}
diff --git a/NetworkPkg/Ip6Dxe/Ip6Impl.c b/NetworkPkg/Ip6Dxe/Ip6Impl.c
index b186c0af20..c937423428 100644
--- a/NetworkPkg/Ip6Dxe/Ip6Impl.c
+++ b/NetworkPkg/Ip6Dxe/Ip6Impl.c
@@ -2,7 +2,7 @@
Implementation of EFI_IP6_PROTOCOL protocol interfaces.
(C) Copyright 2014 Hewlett-Packard Development Company, L.P.
- Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -842,7 +842,7 @@ EfiIp6Routes (
EFI_TPL OldTpl;
IP6_SERVICE *IpSb;
- if ((This == NULL) || (PrefixLength >= IP6_PREFIX_NUM)) {
+ if ((This == NULL) || (PrefixLength > IP6_PREFIX_MAX)) {
return EFI_INVALID_PARAMETER;
}
diff --git a/NetworkPkg/Ip6Dxe/Ip6Nd.c b/NetworkPkg/Ip6Dxe/Ip6Nd.c
index 2c8be42f09..be3dd911b6 100644
--- a/NetworkPkg/Ip6Dxe/Ip6Nd.c
+++ b/NetworkPkg/Ip6Dxe/Ip6Nd.c
@@ -1,7 +1,7 @@
/** @file
Implementation of Neighbor Discovery support routines.
- Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -198,7 +198,7 @@ Ip6CreatePrefixListEntry (
LIST_ENTRY *Entry;
IP6_PREFIX_LIST_ENTRY *TmpPrefixEntry;
- if (Prefix == NULL || PreferredLifetime > ValidLifetime || PrefixLength >= IP6_PREFIX_NUM) {
+ if (Prefix == NULL || PreferredLifetime > ValidLifetime || PrefixLength > IP6_PREFIX_MAX) {
return NULL;
}
diff --git a/NetworkPkg/Ip6Dxe/Ip6Route.c b/NetworkPkg/Ip6Dxe/Ip6Route.c
index bba365c152..3e47fa4cc6 100644
--- a/NetworkPkg/Ip6Dxe/Ip6Route.c
+++ b/NetworkPkg/Ip6Dxe/Ip6Route.c
@@ -1,7 +1,7 @@
/** @file
The functions and routines to handle the route caches and route table.
- Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -135,7 +135,7 @@ Ip6FindRouteEntry (
RtEntry = NULL;
- for (Index = IP6_PREFIX_NUM - 1; Index >= 0; Index--) {
+ for (Index = IP6_PREFIX_MAX; Index >= 0; Index--) {
NET_LIST_FOR_EACH (Entry, &RtTable->RouteArea[Index]) {
RtEntry = NET_LIST_USER_STRUCT (Entry, IP6_ROUTE_ENTRY, Link);
@@ -300,7 +300,7 @@ Ip6BuildEfiRouteTable (
//
Count = 0;
- for (Index = IP6_PREFIX_NUM - 1; Index >= 0; Index--) {
+ for (Index = IP6_PREFIX_MAX; Index >= 0; Index--) {
NET_LIST_FOR_EACH (Entry, &(RouteTable->RouteArea[Index])) {
RtEntry = NET_LIST_USER_STRUCT (Entry, IP6_ROUTE_ENTRY, Link);
@@ -346,7 +346,7 @@ Ip6CreateRouteTable (
RtTable->RefCnt = 1;
RtTable->TotalNum = 0;
- for (Index = 0; Index < IP6_PREFIX_NUM; Index++) {
+ for (Index = 0; Index <= IP6_PREFIX_MAX; Index++) {
InitializeListHead (&RtTable->RouteArea[Index]);
}
@@ -385,7 +385,7 @@ Ip6CleanRouteTable (
//
// Free all the route table entry and its route cache.
//
- for (Index = 0; Index < IP6_PREFIX_NUM; Index++) {
+ for (Index = 0; Index <= IP6_PREFIX_MAX; Index++) {
NET_LIST_FOR_EACH_SAFE (Entry, Next, &RtTable->RouteArea[Index]) {
RtEntry = NET_LIST_USER_STRUCT (Entry, IP6_ROUTE_ENTRY, Link);
RemoveEntryList (Entry);