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);

   }

 

   //