diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c index 3a871cf3ba..4ed4eccdc2 100644 --- a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c @@ -600,11 +600,11 @@ MergeDefaultString ( if (StringPtr == NULL) { StringPtrEnd = StrStr (StringPtrDefault + 1, L"&GUID"); SizeAltCfgResp = StrSize (*AltCfgResp); - TotalSize = SizeAltCfgResp + StrSize (StringPtrDefault); if (StringPtrEnd == NULL) { // // No more default string is found. // + TotalSize = SizeAltCfgResp + StrSize (StringPtrDefault); *AltCfgResp = (EFI_STRING) ReallocatePool ( SizeAltCfgResp, TotalSize, @@ -619,6 +619,7 @@ MergeDefaultString ( } else { TempChar = *StringPtrEnd; *StringPtrEnd = L'\0'; + TotalSize = SizeAltCfgResp + StrSize (StringPtrDefault); *AltCfgResp = (EFI_STRING) ReallocatePool ( SizeAltCfgResp, TotalSize,