]> git.proxmox.com Git - mirror_edk2.git/commitdiff
NetworkPkg: Fix incorrect SizeofHeaders returned from HttpTcpReceiveHeader().
authorFu Siyuan <siyuan.fu@intel.com>
Wed, 15 Nov 2017 02:42:17 +0000 (10:42 +0800)
committerFu Siyuan <siyuan.fu@intel.com>
Thu, 16 Nov 2017 06:08:54 +0000 (14:08 +0800)
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 <siyuan.fu@intel.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
NetworkPkg/HttpDxe/HttpProto.c

index ab00f3d6f25f050bd5177c7c21b020e5e67690bd..1aa1816c527ac454adcff1bd7ea4d4925d131546 100644 (file)
@@ -1876,7 +1876,10 @@ HttpTcpReceiveHeader (
       //\r
       // Check whether we received end of HTTP headers.\r
       //\r
-      *EndofHeader = AsciiStrStr (*HttpHeaders, HTTP_END_OF_HDR_STR); \r
+      *EndofHeader = AsciiStrStr (*HttpHeaders, HTTP_END_OF_HDR_STR);\r
+      if (*EndofHeader != NULL) {\r
+        *SizeofHeaders = *EndofHeader - *HttpHeaders;\r
+      }\r
     };\r
     \r
     //\r
@@ -1976,6 +1979,9 @@ HttpTcpReceiveHeader (
       // Check whether we received end of HTTP headers.\r
       //\r
       *EndofHeader = AsciiStrStr (*HttpHeaders, HTTP_END_OF_HDR_STR); \r
+      if (*EndofHeader != NULL) {\r
+        *SizeofHeaders = *EndofHeader - *HttpHeaders;\r
+      }\r
     };\r
 \r
     //\r