MdeModulePkg: Enhance the handling of registering hot key

It's not a proper approach when dealing the return string of
HiiGetString function with ASSERT on REALEASE or NOOPT mode.
This patch add a check for NewString before calling
RegisterHotKey() for the case.

Signed-off-by: Qihang Gao <gaoqihang@loongson.cn>
This commit is contained in:
Qihang Gao 2026-02-04 10:38:57 +08:00 committed by mergify[bot]
parent 9c60e889b7
commit cddb4eedca

View file

@ -4330,14 +4330,18 @@ InitializeDisplayEngine (
HotKey.ScanCode = SCAN_F10;
NewString = HiiGetString (gHiiHandle, STRING_TOKEN (FUNCTION_TEN_STRING), NULL);
ASSERT (NewString != NULL);
FormBrowserEx2->RegisterHotKey (&HotKey, BROWSER_ACTION_SUBMIT, 0, NewString);
FreePool (NewString);
if (NewString != NULL) {
FormBrowserEx2->RegisterHotKey (&HotKey, BROWSER_ACTION_SUBMIT, 0, NewString);
FreePool (NewString);
}
HotKey.ScanCode = SCAN_F9;
NewString = HiiGetString (gHiiHandle, STRING_TOKEN (FUNCTION_NINE_STRING), NULL);
ASSERT (NewString != NULL);
FormBrowserEx2->RegisterHotKey (&HotKey, BROWSER_ACTION_DEFAULT, EFI_HII_DEFAULT_CLASS_STANDARD, NewString);
FreePool (NewString);
if (NewString != NULL) {
FormBrowserEx2->RegisterHotKey (&HotKey, BROWSER_ACTION_DEFAULT, EFI_HII_DEFAULT_CLASS_STANDARD, NewString);
FreePool (NewString);
}
}
return EFI_SUCCESS;