]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellLevel2CommandsLib/Map.c
fixes for NULL verification.
[mirror_edk2.git] / ShellPkg / Library / UefiShellLevel2CommandsLib / Map.c
index ccfa0b065478821938d33e0593adc6e3cd082691..d74a47ba52585f2a95355fbb58f34bf22af0e4c4 100644 (file)
@@ -679,18 +679,19 @@ PerformMappingDelete(
     return (Status);\r
   }\r
 \r
-  //\r
-  // Get the map name(s) for each one.\r
-  //\r
-  for ( LoopVar = 0\r
-      ; LoopVar < BufferSize / sizeof(EFI_HANDLE)\r
-      ; LoopVar ++\r
-     ){\r
-    if (PerformSingleMappingDelete(Specific,HandleBuffer[LoopVar]) == SHELL_SUCCESS) {\r
-        Deleted = TRUE;\r
+  if (HandleBuffer != NULL) {\r
+    //\r
+    // Get the map name(s) for each one.\r
+    //\r
+    for ( LoopVar = 0\r
+        ; LoopVar < BufferSize / sizeof(EFI_HANDLE)\r
+        ; LoopVar ++\r
+       ){\r
+      if (PerformSingleMappingDelete(Specific,HandleBuffer[LoopVar]) == SHELL_SUCCESS) {\r
+          Deleted = TRUE;\r
+      }\r
     }\r
   }\r
-\r
   //\r
   // Look up all BlockIo in the platform\r
   //\r
@@ -718,30 +719,32 @@ PerformMappingDelete(
     return (Status);\r
   }\r
 \r
-  //\r
-  // Get the map name(s) for each one.\r
-  //\r
-  for ( LoopVar = 0\r
-      ; LoopVar < BufferSize / sizeof(EFI_HANDLE)\r
-      ; LoopVar ++\r
-     ){\r
+  if (HandleBuffer != NULL) {\r
     //\r
-    // Skip any that were already done...\r
+    // Get the map name(s) for each one.\r
     //\r
-    if (gBS->OpenProtocol(\r
-      HandleBuffer[LoopVar],\r
-      &gEfiDevicePathProtocolGuid,\r
-      NULL,\r
-      gImageHandle,\r
-      NULL,\r
-      EFI_OPEN_PROTOCOL_TEST_PROTOCOL) == EFI_SUCCESS) {\r
-        continue;\r
-    }\r
-    if (PerformSingleMappingDelete(Specific,HandleBuffer[LoopVar]) == SHELL_SUCCESS) {\r
-        Deleted = TRUE;\r
+    for ( LoopVar = 0\r
+        ; LoopVar < BufferSize / sizeof(EFI_HANDLE)\r
+        ; LoopVar ++\r
+       ){\r
+      //\r
+      // Skip any that were already done...\r
+      //\r
+      if (gBS->OpenProtocol(\r
+        HandleBuffer[LoopVar],\r
+        &gEfiDevicePathProtocolGuid,\r
+        NULL,\r
+        gImageHandle,\r
+        NULL,\r
+        EFI_OPEN_PROTOCOL_TEST_PROTOCOL) == EFI_SUCCESS) {\r
+          continue;\r
+      }\r
+      if (PerformSingleMappingDelete(Specific,HandleBuffer[LoopVar]) == SHELL_SUCCESS) {\r
+          Deleted = TRUE;\r
+      }\r
     }\r
   }\r
-  FreePool(HandleBuffer);\r
+  SHELL_FREE_NON_NULL(HandleBuffer);\r
   if (!Deleted) {\r
     return (EFI_NOT_FOUND);\r
   }\r