]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/UefiLib/UefiLib.c
MdePkg UefiLib: Fix in EfiLocateProtocolBuffer()
[mirror_edk2.git] / MdePkg / Library / UefiLib / UefiLib.c
index f1a3f1c7af0502159a69dda6416e785c72795fb8..9ade1b0ce1a0e5842a7815af6dbfddbb92daf450 100644 (file)
@@ -888,10 +888,10 @@ LookupUnicodeString2 (
 EFI_STATUS\r
 EFIAPI\r
 AddUnicodeString (\r
-  IN CONST CHAR8               *Language,\r
-  IN CONST CHAR8               *SupportedLanguages,\r
-  IN EFI_UNICODE_STRING_TABLE  **UnicodeStringTable,\r
-  IN CONST CHAR16              *UnicodeString\r
+  IN     CONST CHAR8               *Language,\r
+  IN     CONST CHAR8               *SupportedLanguages,\r
+  IN OUT EFI_UNICODE_STRING_TABLE  **UnicodeStringTable,\r
+  IN     CONST CHAR16              *UnicodeString\r
   )\r
 {\r
   UINTN                     NumberOfEntries;\r
@@ -1065,11 +1065,11 @@ AddUnicodeString (
 EFI_STATUS\r
 EFIAPI\r
 AddUnicodeString2 (\r
-  IN CONST CHAR8               *Language,\r
-  IN CONST CHAR8               *SupportedLanguages,\r
-  IN EFI_UNICODE_STRING_TABLE  **UnicodeStringTable,\r
-  IN CONST CHAR16              *UnicodeString,\r
-  IN BOOLEAN                   Iso639Language\r
+  IN     CONST CHAR8               *Language,\r
+  IN     CONST CHAR8               *SupportedLanguages,\r
+  IN OUT EFI_UNICODE_STRING_TABLE  **UnicodeStringTable,\r
+  IN     CONST CHAR16              *UnicodeString,\r
+  IN     BOOLEAN                   Iso639Language\r
   )\r
 {\r
   UINTN                     NumberOfEntries;\r
@@ -1514,7 +1514,7 @@ CHAR8 *
 EFIAPI\r
 GetBestLanguage (\r
   IN CONST CHAR8  *SupportedLanguages, \r
-  IN BOOLEAN      Iso639Language,\r
+  IN UINTN        Iso639Language,\r
   ...\r
   )\r
 {\r
@@ -1678,6 +1678,10 @@ EfiLocateProtocolBuffer (
                   (VOID **)Buffer\r
                   );\r
   if (EFI_ERROR (Status)) {\r
+    //\r
+    // Free the handle buffer\r
+    //\r
+    gBS->FreePool (HandleBuffer);\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
   ZeroMem (*Buffer, NoHandles * sizeof (VOID *));\r