summaryrefslogtreecommitdiff
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorFu Siyuan <siyuan.fu@intel.com>2013-09-18 02:27:20 +0000
committersfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524>2013-09-18 02:27:20 +0000
commit098e9f49256e352f557fdcbcfbab37f8dd89ff63 (patch)
treedd5656bafc53c6d1cb4aaacbddec532bac7a778e /MdeModulePkg
parentdf202d72ebce0178d93eca8281ede0362cc1f36c (diff)
downloadedk2-platforms-098e9f49256e352f557fdcbcfbab37f8dd89ff63.tar.xz
Fix a bug in Ip4 driver that Ip4.Transmit() interface may return EFI_INVALID_PARAMETER without restore TPL.
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Jin Eric <eric.jin@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14682 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg')
-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;