]> git.proxmox.com Git - mirror_edk2.git/commitdiff
NetworkPkg/HttpBootDxe: Add check to avoid use NULL pointer
authorJiaxin Wu <jiaxin.wu@intel.com>
Fri, 27 Oct 2017 02:16:29 +0000 (10:16 +0800)
committerJiaxin Wu <jiaxin.wu@intel.com>
Mon, 30 Oct 2017 00:51:42 +0000 (08:51 +0800)
Cc: Wu Hao A <hao.a.wu@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
NetworkPkg/HttpBootDxe/HttpBootDxe.c

index b1f9042ea349b9b8c74cc35049e320545cdd780c..8a61f51cc87b5fc5a5294946bb385b4f6072373b 100644 (file)
@@ -615,19 +615,21 @@ HttpBootIp4DxeDriverBindingStart (
   return EFI_SUCCESS;\r
     \r
 ON_ERROR:\r
-  if (FirstStart) {\r
-    gBS->UninstallProtocolInterface (\r
-           ControllerHandle,\r
-           &gEfiCallerIdGuid,\r
-           &Private->Id\r
-           );\r
-  }\r
-  \r
-  HttpBootDestroyIp4Children (This, Private);\r
-  HttpBootConfigFormUnload (Private);\r
+  if (Private != NULL) {\r
+    if (FirstStart) {\r
+      gBS->UninstallProtocolInterface (\r
+             ControllerHandle,\r
+             &gEfiCallerIdGuid,\r
+             &Private->Id\r
+             );\r
+    }\r
+    \r
+    HttpBootDestroyIp4Children (This, Private);\r
+    HttpBootConfigFormUnload (Private);\r
 \r
-  if (FirstStart && Private != NULL) {\r
-    FreePool (Private);\r
+    if (FirstStart) {\r
+      FreePool (Private);\r
+    }\r
   }\r
 \r
   return Status;\r
@@ -1144,19 +1146,21 @@ HttpBootIp6DxeDriverBindingStart (
   return EFI_SUCCESS;\r
    \r
 ON_ERROR:\r
-  if (FirstStart) {\r
-    gBS->UninstallProtocolInterface (\r
-           ControllerHandle,\r
-           &gEfiCallerIdGuid,\r
-           &Private->Id\r
-           );\r
-  }\r
+  if (Private != NULL) {\r
+    if (FirstStart) {\r
+      gBS->UninstallProtocolInterface (\r
+             ControllerHandle,\r
+             &gEfiCallerIdGuid,\r
+             &Private->Id\r
+             );\r
+    }\r
 \r
-  HttpBootDestroyIp6Children(This, Private);\r
-  HttpBootConfigFormUnload (Private);\r
+    HttpBootDestroyIp6Children(This, Private);\r
+    HttpBootConfigFormUnload (Private);\r
 \r
-  if (FirstStart && Private != NULL) {\r
-    FreePool (Private);\r
+    if (FirstStart) {\r
+      FreePool (Private);\r
+    }\r
   }\r
 \r
   return Status;\r