Fix bug in Ip4Dxe and Dhcp4Dxe to ensure that RaiseTPL and RestoreTPL are in pair.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10790 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
xdu2 2010-08-12 04:46:11 +00:00
parent bab26f79ff
commit ae0a0b06af
2 changed files with 8 additions and 6 deletions

View File

@ -910,16 +910,17 @@ EfiDhcp4RenewRebind (
if (DhcpSb->DhcpState == Dhcp4Stopped) { if (DhcpSb->DhcpState == Dhcp4Stopped) {
Status = EFI_NOT_STARTED; Status = EFI_NOT_STARTED;
goto ON_ERROR; goto ON_EXIT;
} }
if (DhcpSb->DhcpState != Dhcp4Bound) { if (DhcpSb->DhcpState != Dhcp4Bound) {
Status = EFI_ACCESS_DENIED; Status = EFI_ACCESS_DENIED;
goto ON_ERROR; goto ON_EXIT;
} }
if (DHCP_IS_BOOTP (DhcpSb->Para)) { if (DHCP_IS_BOOTP (DhcpSb->Para)) {
return EFI_SUCCESS; Status = EFI_SUCCESS;
goto ON_EXIT;
} }
// //
@ -941,7 +942,7 @@ EfiDhcp4RenewRebind (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
DhcpSetState (DhcpSb, Dhcp4Bound, FALSE); DhcpSetState (DhcpSb, Dhcp4Bound, FALSE);
goto ON_ERROR; goto ON_EXIT;
} }
DhcpSb->ExtraRefresh = TRUE; DhcpSb->ExtraRefresh = TRUE;
@ -961,7 +962,7 @@ EfiDhcp4RenewRebind (
return EFI_SUCCESS; return EFI_SUCCESS;
ON_ERROR: ON_EXIT:
gBS->RestoreTPL (OldTpl); gBS->RestoreTPL (OldTpl);
return Status; return Status;
} }

View File

@ -1241,7 +1241,8 @@ EfiIp4Configure (
} }
if (Current->UseDefaultAddress && IP4_NO_MAPPING (IpInstance)) { if (Current->UseDefaultAddress && IP4_NO_MAPPING (IpInstance)) {
return EFI_NO_MAPPING; Status = EFI_NO_MAPPING;
goto ON_EXIT;
} }
} }
} }