From: Fu Siyuan Date: Wed, 15 Nov 2017 02:42:17 +0000 (+0800) Subject: NetworkPkg: Fix incorrect SizeofHeaders returned from HttpTcpReceiveHeader(). X-Git-Tag: edk2-stable201903~3093 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=19bd133562df951ae7ff7e1fff99b11a25b4cb6d NetworkPkg: Fix incorrect SizeofHeaders returned from HttpTcpReceiveHeader(). This patch is to fix a bug that the HttpTcpReceiveHeader() may return incorrect SizeofHeaders, which will include some already received message-body. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan Reviewed-by: Wu Jiaxin Reviewed-by: Ye Ting --- diff --git a/NetworkPkg/HttpDxe/HttpProto.c b/NetworkPkg/HttpDxe/HttpProto.c index ab00f3d6f2..1aa1816c52 100644 --- a/NetworkPkg/HttpDxe/HttpProto.c +++ b/NetworkPkg/HttpDxe/HttpProto.c @@ -1876,7 +1876,10 @@ HttpTcpReceiveHeader ( // // Check whether we received end of HTTP headers. // - *EndofHeader = AsciiStrStr (*HttpHeaders, HTTP_END_OF_HDR_STR); + *EndofHeader = AsciiStrStr (*HttpHeaders, HTTP_END_OF_HDR_STR); + if (*EndofHeader != NULL) { + *SizeofHeaders = *EndofHeader - *HttpHeaders; + } }; // @@ -1976,6 +1979,9 @@ HttpTcpReceiveHeader ( // Check whether we received end of HTTP headers. // *EndofHeader = AsciiStrStr (*HttpHeaders, HTTP_END_OF_HDR_STR); + if (*EndofHeader != NULL) { + *SizeofHeaders = *EndofHeader - *HttpHeaders; + } }; //