diff --git a/NetworkPkg/HttpDxe/HttpImpl.c b/NetworkPkg/HttpDxe/HttpImpl.c index dd10f826b4..f4ae28aec9 100644 --- a/NetworkPkg/HttpDxe/HttpImpl.c +++ b/NetworkPkg/HttpDxe/HttpImpl.c @@ -1237,6 +1237,7 @@ HttpResponseWorker ( goto Error; } + FreePool (Wrap); return Status; Exit: diff --git a/NetworkPkg/HttpDxe/HttpProto.c b/NetworkPkg/HttpDxe/HttpProto.c index f3992edfdc..afa7fe4b35 100644 --- a/NetworkPkg/HttpDxe/HttpProto.c +++ b/NetworkPkg/HttpDxe/HttpProto.c @@ -152,7 +152,6 @@ HttpTcpReceiveNotifyDpc ( if (EFI_ERROR (Wrap->TcpWrap.Rx6Token.CompletionToken.Status)) { Wrap->HttpToken->Status = Wrap->TcpWrap.Rx6Token.CompletionToken.Status; gBS->SignalEvent (Wrap->HttpToken->Event); - FreePool (Wrap); return ; } @@ -162,7 +161,6 @@ HttpTcpReceiveNotifyDpc ( if (EFI_ERROR (Wrap->TcpWrap.Rx4Token.CompletionToken.Status)) { Wrap->HttpToken->Status = Wrap->TcpWrap.Rx4Token.CompletionToken.Status; gBS->SignalEvent (Wrap->HttpToken->Event); - FreePool (Wrap); return ; } } @@ -234,8 +232,6 @@ HttpTcpReceiveNotifyDpc ( // Check pending RxTokens and receive the HTTP message. // NetMapIterate (&Wrap->HttpInstance->RxTokens, HttpTcpReceive, NULL); - - FreePool (Wrap); } /**