]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.c
Update code to ensure the pointer ‘CurrentName’ in function ‘PerformSingleMappingDisp...
[mirror_edk2.git] / ShellPkg / Library / UefiShellLevel2CommandsLib / UefiShellLevel2CommandsLib.c
index e54d5f3edec9610ed0ecc0dfc2a8864a604a059e..52aaff021f88c03f6025682cea0f5aab52457e60 100644 (file)
 \r
 CONST CHAR16 mFileName[] = L"ShellCommands";\r
 EFI_HANDLE gShellLevel2HiiHandle = NULL;\r
-CONST EFI_GUID gShellLevel2HiiGuid = \\r
-  { \\r
-    0xf95a7ccc, 0x4c55, 0x4426, { 0xa7, 0xb4, 0xdc, 0x89, 0x61, 0x95, 0xb, 0xae } \\r
-  };\r
 \r
 /**\r
   Get the filename to get help text from if not using HII.\r
@@ -77,7 +73,7 @@ ShellLevel2CommandsLibConstructor (
   // if shell level is less than 2 do nothing\r
   //\r
   if (PcdGet8(PcdShellSupportLevel) < 2) {\r
-    return (EFI_UNSUPPORTED);\r
+    return (EFI_SUCCESS);\r
   }\r
 \r
   gShellLevel2HiiHandle = HiiAddPackages (&gShellLevel2HiiGuid, gImageHandle, UefiShellLevel2CommandsLibStrings, NULL);\r
@@ -167,8 +163,8 @@ ShellLevel2CommandsLibDestructor (
   @param[in] Path         The unknown Path Value\r
 \r
   @retval NULL            A memory allocation failed\r
-  @retval NULL            a fully qualified path could not be discovered.\r
-  @retval other           pointer to a fuly qualified path.\r
+  @retval NULL            A fully qualified path could not be discovered.\r
+  @retval other           An allocated pointer to a fuly qualified path.\r
 **/\r
 CHAR16*\r
 EFIAPI\r
@@ -196,7 +192,11 @@ GetFullyQualifiedPath(
   }\r
   StrnCatGrow(&PathToReturn, &Size, Path, 0);\r
 \r
-  CleanPath(PathToReturn);\r
+  PathCleanUpDirectories(PathToReturn);\r
+\r
+  if (PathToReturn == NULL) {\r
+    return NULL;\r
+  }\r
 \r
   while (PathToReturn[StrLen(PathToReturn)-1] == L'*') {\r
     PathToReturn[StrLen(PathToReturn)-1] = CHAR_NULL;\r
@@ -230,6 +230,10 @@ VerifyIntermediateDirectories (
   PathCopy    = StrnCatGrow(&PathCopy, NULL, Path, 0);\r
   FileHandle  = NULL;\r
 \r
+  if (PathCopy == NULL) {\r
+    return (EFI_OUT_OF_RESOURCES);\r
+  }\r
+\r
   for (TempSpot = &PathCopy[StrLen(PathCopy)-1] ; *TempSpot != CHAR_NULL && *TempSpot != L'\\' ; TempSpot = &PathCopy[StrLen(PathCopy)-1]){\r
     *TempSpot = CHAR_NULL;\r
   }\r