if (mEnumBootDevice) {\r
LastLang = GetVariable (L"LastEnumLang", &mBdsLibLastLangGuid);\r
PlatLang = GetEfiGlobalVariable (L"PlatformLang");\r
- if (LastLang == PlatLang) {\r
+ ASSERT (PlatLang != NULL);\r
+ if ((LastLang != NULL) && (AsciiStrCmp (LastLang, PlatLang) == 0)) {\r
Status = BdsLibBuildOptionFromVar (BdsBootOptionList, L"BootOrder");\r
+ FreePool (LastLang);\r
+ FreePool (PlatLang);\r
return Status;\r
} else {\r
Status = gRT->SetVariable (\r
L"LastEnumLang",\r
&mBdsLibLastLangGuid,\r
EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
- sizeof (PlatLang),\r
+ AsciiStrSize (PlatLang),\r
PlatLang\r
);\r
ASSERT_EFI_ERROR (Status);\r
+\r
+ if (LastLang != NULL) {\r
+ FreePool (LastLang);\r
+ }\r
+ FreePool (PlatLang);\r
}\r
}\r
\r