summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvanjeff <vanjeff>2013-09-23 06:46:26 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2013-09-23 06:46:26 +0000
commit99964b3f89dbede7420b0778627adb54e0478105 (patch)
tree6abb9d1c501d643548b9c56544e053ee4d047b3b
parent7c1685038aebb960d1247af311b5a30ad5360d3d (diff)
downloadedk2-99964b3f89dbede7420b0778627adb54e0478105.tar.gz
Sync patch r14682 from main trunk.
Fix a bug in Ip4 driver that Ip4.Transmit() interface may return EFI_INVALID_PARAMETER without restore TPL. git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1@14698 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.c b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.c
index 29f07ce4a3..cd01685a30 100644
--- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.c
+++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Impl.c
@@ -2002,7 +2002,8 @@ EfiIp4Transmit (
RawHdrLen = (UINT8) (RawHdrLen & 0x0f);
if (RawHdrLen < 5) {
- return EFI_INVALID_PARAMETER;
+ Status = EFI_INVALID_PARAMETER;
+ goto ON_EXIT;
}
RawHdrLen = (UINT8) (RawHdrLen << 2);
@@ -2014,7 +2015,8 @@ EfiIp4Transmit (
DontFragment = IP4_DO_NOT_FRAGMENT (Head.Fragment);
if (!DontFragment) {
- return EFI_INVALID_PARAMETER;
+ Status = EFI_INVALID_PARAMETER;
+ goto ON_EXIT;
}
GateWay = IP4_ALLZERO_ADDRESS;