Fix a bug that Dhcp6CalculateLeaseTime() function use incorrect offset on the IaAddress pointer.
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@16097 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c b/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c
index 8603669..5379d0d 100644
--- a/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c
+++ b/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c
@@ -386,7 +386,6 @@
IN DHCP6_IA_CB *IaCb
)
{
- EFI_DHCP6_IA_ADDRESS *IaAddr;
UINT32 MinLt;
UINT32 MaxLt;
UINTN Index;
@@ -401,9 +400,8 @@
// valid life time.
//
for (Index = 0; Index < IaCb->Ia->IaAddressCount; Index++) {
- IaAddr = IaCb->Ia->IaAddress + Index * sizeof (EFI_DHCP6_IA_ADDRESS);
- MinLt = MIN (MinLt, IaAddr->ValidLifetime);
- MaxLt = MAX (MinLt, IaAddr->ValidLifetime);
+ MinLt = MIN (MinLt, IaCb->Ia->IaAddress[Index].ValidLifetime);
+ MaxLt = MAX (MinLt, IaCb->Ia->IaAddress[Index].ValidLifetime);
}
//