From 7278ce8cec488e13a513fb4e1546f09e25574ba1 Mon Sep 17 00:00:00 2001 From: Jiaxin Wu Date: Fri, 11 Nov 2016 12:52:49 +0800 Subject: [PATCH] MdeModulePkg/Ip4Dxe: Correct the return status This patch made the following change: * DataItem->Status should be updated to the status code. * Data should not be freed if EFI_NOT_READY returned. Cc: Santhapur Naveen Cc: Laszlo Ersek Cc: Ye Ting Cc: Fu Siyuan Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiaxin Wu Reviewed-by: Ye Ting Reviewed-by: Laszlo Ersek --- MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.c b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.c index 5b01b35b76..88ead9d269 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.c +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.c @@ -1282,21 +1282,17 @@ Ip4Config2SetMaunualAddress ( IpSb->Reconfig = TRUE; Status = Ip4Config2SetDefaultAddr (IpSb, StationAddress, SubnetMask); - if (EFI_ERROR (Status)) { - goto ON_EXIT; - } - DataItem->Status = EFI_SUCCESS; + DataItem->Status = Status; -ON_EXIT: - if (EFI_ERROR (DataItem->Status)) { + if (EFI_ERROR (DataItem->Status) && DataItem->Status != EFI_NOT_READY) { if (Ptr != NULL) { FreePool (Ptr); } DataItem->Data.Ptr = NULL; } - return EFI_SUCCESS; + return Status; } /** -- 2.39.2