From ec50ecf2b8f2b011b8cd66e53668fef7624aed88 Mon Sep 17 00:00:00 2001 From: ydong10 Date: Thu, 13 Jan 2011 02:25:24 +0000 Subject: Fix potential memory access violation git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11248 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'MdeModulePkg/Library/DxeTcpIoLib') diff --git a/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.c b/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.c index 110e4890c8..2a65422e1c 100644 --- a/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.c +++ b/MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.c @@ -913,8 +913,9 @@ TcpIoReceive ( FragmentCount = Packet->BlockOpNum; Fragment = AllocatePool (FragmentCount * sizeof (NET_FRAGMENT)); - if (Fragment == NULL) { - return EFI_OUT_OF_RESOURCES; + if (Fragment == NULL) { + Status = EFI_OUT_OF_RESOURCES; + goto ON_EXIT; } // // Build the fragment table. @@ -988,8 +989,10 @@ ON_EXIT: } else { TcpIo->RxToken.Tcp6Token.Packet.RxData = NULL; } - - FreePool (Fragment); + + if (Fragment != NULL) { + FreePool (Fragment); + } return Status; } -- cgit v1.2.3