[edk2] [Patch 2/2] NetworkPkg: Correct HttpConfigure parameter check

2016-05-25 Thread Jiaxin Wu
When HttpConfigData is NULL, HttpConfigure should not return
EFI_INVALID_PARAMETER.

Cc: Ye Ting 
Cc: Fu Siyuan 
Cc: Zhang Lubo 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu 
---
 NetworkPkg/HttpDxe/HttpImpl.c | 9 +
 NetworkPkg/HttpDxe/HttpImpl.h | 1 -
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/NetworkPkg/HttpDxe/HttpImpl.c b/NetworkPkg/HttpDxe/HttpImpl.c
index 7ee6613..12f22db 100644
--- a/NetworkPkg/HttpDxe/HttpImpl.c
+++ b/NetworkPkg/HttpDxe/HttpImpl.c
@@ -112,11 +112,10 @@ EfiHttpGetModeData (
   @param[in]  HttpConfigData  Pointer to the configure data to configure 
the instance.
 
   @retval EFI_SUCCESS Operation succeeded.
   @retval EFI_INVALID_PARAMETER   One or more of the following conditions is 
TRUE:
   This is NULL.
-  HttpConfigData is NULL.
   HttpConfigData->LocalAddressIsIPv6 is FALSE 
and
   HttpConfigData->IPv4Node is NULL.
   HttpConfigData->LocalAddressIsIPv6 is TRUE 
and
   HttpConfigData->IPv6Node is NULL.
   @retval EFI_ALREADY_STARTED Reinitialize this HTTP instance without 
calling
@@ -139,13 +138,13 @@ EfiHttpConfigure (
   
   //
   // Check input parameters.
   //
   if (This == NULL ||
-  HttpConfigData == NULL ||
- ((HttpConfigData->LocalAddressIsIPv6 && 
HttpConfigData->AccessPoint.IPv6Node == NULL) ||
- (!HttpConfigData->LocalAddressIsIPv6 && 
HttpConfigData->AccessPoint.IPv4Node == NULL))) {
+  (HttpConfigData != NULL && 
+   ((HttpConfigData->LocalAddressIsIPv6 && 
HttpConfigData->AccessPoint.IPv6Node == NULL) ||
+(!HttpConfigData->LocalAddressIsIPv6 && 
HttpConfigData->AccessPoint.IPv4Node == NULL {
 return EFI_INVALID_PARAMETER;
   }
 
   HttpInstance = HTTP_INSTANCE_FROM_PROTOCOL (This);
   ASSERT (HttpInstance != NULL && HttpInstance->Service != NULL);
@@ -252,10 +251,11 @@ EfiHttpRequest (
   //
   // Initializations
   //
   Url = NULL;
   UrlParser = NULL;
+  RemotePort = 0;
   HostName = NULL;
   RequestMsg = NULL;
   HostNameStr = NULL;
   Wrap = NULL;
   FileUrl = NULL;
@@ -906,10 +906,11 @@ HttpResponseWorker (
   HttpMsg->Headers  = NULL;
   HttpHeaders   = NULL;
   SizeofHeaders = 0;
   BufferSize= 0;
   EndofHeader   = NULL;
+  ValueInItem   = NULL;
  
   if (HttpMsg->Data.Response != NULL) {
 //
 // Need receive the HTTP headers, prepare buffer.
 //
diff --git a/NetworkPkg/HttpDxe/HttpImpl.h b/NetworkPkg/HttpDxe/HttpImpl.h
index 415b5e5..40b2504 100644
--- a/NetworkPkg/HttpDxe/HttpImpl.h
+++ b/NetworkPkg/HttpDxe/HttpImpl.h
@@ -70,11 +70,10 @@ EfiHttpGetModeData (
   @param[in]  HttpConfigData  Pointer to the configure data to configure 
the instance.
 
   @retval EFI_SUCCESS Operation succeeded.
   @retval EFI_INVALID_PARAMETER   One or more of the following conditions is 
TRUE:
   This is NULL.
-  HttpConfigData is NULL.
   HttpConfigData->LocalAddressIsIPv6 is FALSE 
and
   HttpConfigData->IPv4Node is NULL.
   HttpConfigData->LocalAddressIsIPv6 is TRUE 
and
   HttpConfigData->IPv6Node is NULL.
   @retval EFI_ALREADY_STARTED Reinitialize this HTTP instance without 
calling
-- 
1.9.5.msysgit.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] [Patch 2/2] NetworkPkg: Correct HttpConfigure parameter check

2016-05-25 Thread Zhang, Lubo
Reviewed-by: Zhang Lubo 

-Original Message-
From: Wu, Jiaxin 
Sent: Wednesday, May 25, 2016 4:28 PM
To: edk2-devel@lists.01.org
Cc: Ye, Ting ; Fu, Siyuan ; Zhang, Lubo 

Subject: [Patch 2/2] NetworkPkg: Correct HttpConfigure parameter check

When HttpConfigData is NULL, HttpConfigure should not return 
EFI_INVALID_PARAMETER.

Cc: Ye Ting 
Cc: Fu Siyuan 
Cc: Zhang Lubo 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu 
---
 NetworkPkg/HttpDxe/HttpImpl.c | 9 +  NetworkPkg/HttpDxe/HttpImpl.h | 1 
-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/NetworkPkg/HttpDxe/HttpImpl.c b/NetworkPkg/HttpDxe/HttpImpl.c 
index 7ee6613..12f22db 100644
--- a/NetworkPkg/HttpDxe/HttpImpl.c
+++ b/NetworkPkg/HttpDxe/HttpImpl.c
@@ -112,11 +112,10 @@ EfiHttpGetModeData (
   @param[in]  HttpConfigData  Pointer to the configure data to configure 
the instance.
 
   @retval EFI_SUCCESS Operation succeeded.
   @retval EFI_INVALID_PARAMETER   One or more of the following conditions is 
TRUE:
   This is NULL.
-  HttpConfigData is NULL.
   HttpConfigData->LocalAddressIsIPv6 is FALSE 
and
   HttpConfigData->IPv4Node is NULL.
   HttpConfigData->LocalAddressIsIPv6 is TRUE 
and
   HttpConfigData->IPv6Node is NULL.
   @retval EFI_ALREADY_STARTED Reinitialize this HTTP instance without 
calling
@@ -139,13 +138,13 @@ EfiHttpConfigure (
   
   //
   // Check input parameters.
   //
   if (This == NULL ||
-  HttpConfigData == NULL ||
- ((HttpConfigData->LocalAddressIsIPv6 && 
HttpConfigData->AccessPoint.IPv6Node == NULL) ||
- (!HttpConfigData->LocalAddressIsIPv6 && 
HttpConfigData->AccessPoint.IPv4Node == NULL))) {
+  (HttpConfigData != NULL && 
+   ((HttpConfigData->LocalAddressIsIPv6 && 
HttpConfigData->AccessPoint.IPv6Node == NULL) ||
+(!HttpConfigData->LocalAddressIsIPv6 && 
+ HttpConfigData->AccessPoint.IPv4Node == NULL {
 return EFI_INVALID_PARAMETER;
   }
 
   HttpInstance = HTTP_INSTANCE_FROM_PROTOCOL (This);
   ASSERT (HttpInstance != NULL && HttpInstance->Service != NULL); @@ -252,10 
+251,11 @@ EfiHttpRequest (
   //
   // Initializations
   //
   Url = NULL;
   UrlParser = NULL;
+  RemotePort = 0;
   HostName = NULL;
   RequestMsg = NULL;
   HostNameStr = NULL;
   Wrap = NULL;
   FileUrl = NULL;
@@ -906,10 +906,11 @@ HttpResponseWorker (
   HttpMsg->Headers  = NULL;
   HttpHeaders   = NULL;
   SizeofHeaders = 0;
   BufferSize= 0;
   EndofHeader   = NULL;
+  ValueInItem   = NULL;
  
   if (HttpMsg->Data.Response != NULL) {
 //
 // Need receive the HTTP headers, prepare buffer.
 //
diff --git a/NetworkPkg/HttpDxe/HttpImpl.h b/NetworkPkg/HttpDxe/HttpImpl.h 
index 415b5e5..40b2504 100644
--- a/NetworkPkg/HttpDxe/HttpImpl.h
+++ b/NetworkPkg/HttpDxe/HttpImpl.h
@@ -70,11 +70,10 @@ EfiHttpGetModeData (
   @param[in]  HttpConfigData  Pointer to the configure data to configure 
the instance.
 
   @retval EFI_SUCCESS Operation succeeded.
   @retval EFI_INVALID_PARAMETER   One or more of the following conditions is 
TRUE:
   This is NULL.
-  HttpConfigData is NULL.
   HttpConfigData->LocalAddressIsIPv6 is FALSE 
and
   HttpConfigData->IPv4Node is NULL.
   HttpConfigData->LocalAddressIsIPv6 is TRUE 
and
   HttpConfigData->IPv6Node is NULL.
   @retval EFI_ALREADY_STARTED Reinitialize this HTTP instance without 
calling
--
1.9.5.msysgit.1

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel