diff --git a/NetworkPkg/HttpDxe/HttpImpl.c b/NetworkPkg/HttpDxe/HttpImpl.c index 63b683e7e5..553b79cca0 100644 --- a/NetworkPkg/HttpDxe/HttpImpl.c +++ b/NetworkPkg/HttpDxe/HttpImpl.c @@ -240,12 +240,13 @@ EfiHttpRequest ( HTTP_PROTOCOL *HttpInstance; BOOLEAN Configure; BOOLEAN ReConfigure; - CHAR8 *RequestStr; + CHAR8 *RequestMsg; CHAR8 *Url; UINTN UrlLen; CHAR16 *HostNameStr; HTTP_TOKEN_WRAP *Wrap; CHAR8 *FileUrl; + UINTN RequestMsgSize; if ((This == NULL) || (Token == NULL)) { return EFI_INVALID_PARAMETER; @@ -314,7 +315,7 @@ EfiHttpRequest ( goto Error1; } - RequestStr = NULL; + RequestMsg = NULL; HostName = NULL; Status = HttpUrlGetHostName (Url, UrlParser, &HostName); if (EFI_ERROR (Status)) { @@ -498,7 +499,7 @@ EfiHttpRequest ( } } - Status = HttpGenRequestString (HttpMsg, FileUrl, &RequestStr); + Status = HttpGenRequestMessage (HttpMsg, FileUrl, &RequestMsg, &RequestMsgSize); if (EFI_ERROR (Status)) { goto Error3; @@ -515,8 +516,8 @@ EfiHttpRequest ( Status = HttpTransmitTcp ( HttpInstance, Wrap, - (UINT8*) RequestStr, - AsciiStrLen (RequestStr) + (UINT8*) RequestMsg, + RequestMsgSize ); if (EFI_ERROR (Status)) { goto Error5; @@ -534,8 +535,8 @@ Error5: NetMapRemoveTail (&HttpInstance->TxTokens, NULL); Error4: - if (RequestStr != NULL) { - FreePool (RequestStr); + if (RequestMsg != NULL) { + FreePool (RequestMsg); } Error3: diff --git a/NetworkPkg/HttpDxe/HttpProto.c b/NetworkPkg/HttpDxe/HttpProto.c index 156f138f56..9b3c774ae2 100644 --- a/NetworkPkg/HttpDxe/HttpProto.c +++ b/NetworkPkg/HttpDxe/HttpProto.c @@ -1462,8 +1462,9 @@ HttpTcpTransmit ( { HTTP_TOKEN_WRAP *ValueInItem; EFI_STATUS Status; - CHAR8 *RequestStr; + CHAR8 *RequestMsg; CHAR8 *Url; + UINTN RequestMsgSize; ValueInItem = (HTTP_TOKEN_WRAP *) Item->Value; if (ValueInItem->TcpWrap.IsTxDone) { @@ -1483,10 +1484,11 @@ HttpTcpTransmit ( // // Create request message. // - Status = HttpGenRequestString ( + Status = HttpGenRequestMessage ( ValueInItem->HttpToken->Message, Url, - &RequestStr + &RequestMsg, + &RequestMsgSize ); FreePool (Url); @@ -1500,10 +1502,10 @@ HttpTcpTransmit ( Status = HttpTransmitTcp ( ValueInItem->HttpInstance, ValueInItem, - (UINT8*) RequestStr, - AsciiStrLen (RequestStr) + (UINT8*) RequestMsg, + RequestMsgSize ); - FreePool (RequestStr); + FreePool (RequestMsg); return Status; } diff --git a/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesProtocol.c b/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesProtocol.c index 739d3b753c..645fca4084 100644 --- a/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesProtocol.c +++ b/NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesProtocol.c @@ -207,11 +207,6 @@ HttpUtilitiesBuild ( StrLength = sizeof("\r\n") - 1; *NewMessageSize += StrLength; - // - // Final 0 for end flag - // - *NewMessageSize += 1; - *NewMessage = AllocateZeroPool (*NewMessageSize); if (*NewMessage == NULL) { Status = EFI_OUT_OF_RESOURCES; @@ -243,9 +238,7 @@ HttpUtilitiesBuild ( CopyMem (NewMessagePtr, "\r\n", StrLength); NewMessagePtr += StrLength; - *NewMessagePtr = 0; - - ASSERT (*NewMessageSize == (UINTN)NewMessagePtr - (UINTN)(*NewMessage) + 1); + ASSERT (*NewMessageSize == (UINTN)NewMessagePtr - (UINTN)(*NewMessage)); // // Free allocated buffer