diff options
Diffstat (limited to 'ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c')
-rw-r--r-- | ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c b/ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c index d17d50f..f8ddb51 100644 --- a/ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c +++ b/ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c @@ -218,7 +218,11 @@ GetDriverName ( return (EFI_NOT_FOUND);
}
- Lang = GetBestLanguageForDriver (CompName2->SupportedLanguages, Language, FALSE);
+ Lang = GetBestLanguageForDriver (CompName2->SupportedLanguages, Language, FALSE);
+ if (Lang == NULL) {
+ return (EFI_NOT_FOUND);
+ }
+
Status = CompName2->GetDriverName (CompName2, Lang, &NameToReturn);
FreePool (Lang);
@@ -1142,6 +1146,12 @@ ShellCommandRunDh ( Lang = ShellCommandLineGetValue (Package, L"-l");
if (Lang != NULL) {
Language = AllocateZeroPool (StrSize (Lang));
+ if (Language == NULL) {
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_OUT_MEM), gShellDriver1HiiHandle, L"dh");
+ ShellCommandLineFreeVarList (Package);
+ return (SHELL_OUT_OF_RESOURCES);
+ }
+
AsciiSPrint (Language, StrSize (Lang), "%S", Lang);
} else {
ASSERT (Language == NULL);
@@ -1151,6 +1161,12 @@ ShellCommandRunDh ( }
} else {
Language = AllocateZeroPool (10);
+ if (Language == NULL) {
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_OUT_MEM), gShellDriver1HiiHandle, L"dh");
+ ShellCommandLineFreeVarList (Package);
+ return (SHELL_OUT_OF_RESOURCES);
+ }
+
AsciiSPrint (Language, 10, "en-us");
}
|