From 19bd133562df951ae7ff7e1fff99b11a25b4cb6d Mon Sep 17 00:00:00 2001 From: Fu Siyuan Date: Wed, 15 Nov 2017 10:42:17 +0800 Subject: [PATCH] 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 --- NetworkPkg/HttpDxe/HttpProto.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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; + } }; // -- 2.39.2