Commit 19bd133562df951ae7ff7e1fff99b11a25b4cb6d is to fix the incorrect SizeofHeaders returned from HttpTcpReceiveHeader(). But it missed the "\r\n\r\n" calculation, which will cause the later HttpHeaders parsing failure.
This patch is fix the above issue. Cc: Ye Ting <[email protected]> Cc: Fu Siyuan <[email protected]> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wu Jiaxin <[email protected]> --- NetworkPkg/HttpDxe/HttpProto.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/NetworkPkg/HttpDxe/HttpProto.c b/NetworkPkg/HttpDxe/HttpProto.c index 1aa1816..925281a 100644 --- a/NetworkPkg/HttpDxe/HttpProto.c +++ b/NetworkPkg/HttpDxe/HttpProto.c @@ -1875,13 +1875,10 @@ HttpTcpReceiveHeader ( // // Check whether we received end of HTTP headers. // *EndofHeader = AsciiStrStr (*HttpHeaders, HTTP_END_OF_HDR_STR); - if (*EndofHeader != NULL) { - *SizeofHeaders = *EndofHeader - *HttpHeaders; - } }; // // Free the buffer. // @@ -1977,13 +1974,10 @@ HttpTcpReceiveHeader ( // // Check whether we received end of HTTP headers. // *EndofHeader = AsciiStrStr (*HttpHeaders, HTTP_END_OF_HDR_STR); - if (*EndofHeader != NULL) { - *SizeofHeaders = *EndofHeader - *HttpHeaders; - } }; // // Free the buffer. // @@ -2000,11 +1994,13 @@ HttpTcpReceiveHeader ( } // // Skip the CRLF after the HTTP headers. // - *EndofHeader = *EndofHeader + AsciiStrLen (HTTP_END_OF_HDR_STR); + *EndofHeader = *EndofHeader + AsciiStrLen (HTTP_END_OF_HDR_STR); + + *SizeofHeaders = *EndofHeader - *HttpHeaders; return EFI_SUCCESS; } /** -- 1.9.5.msysgit.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

