// To find the <AltResp> with AltConfigHdr in AltCfgResp, ignore other <AltResp> which follow it.\r
//\r
StringPtr = StrStr (*AltCfgResp, AltConfigHdr);\r
+ ASSERT (StringPtr != NULL);\r
StringPtrNext = StrStr (StringPtr + 1, L"&GUID");\r
if (StringPtrNext != NULL) {\r
TempCharA = *StringPtrNext;\r
//\r
if ((BlockData->Name == NULL) && ((BlockData->Offset + BlockData->Width) > VarStorageData->Size)) {\r
Status = EFI_INVALID_PARAMETER;\r
- if (BlockData->Name != NULL) {\r
- FreePool (BlockData->Name);\r
- }\r
FreePool (BlockData);\r
goto Done;\r
}\r
UINTN Index;\r
UINT8 *TemBuffer;\r
CHAR16 *TemString;\r
- CHAR16 TemChar;\r
\r
TmpBuffer = NULL;\r
\r
//\r
// Copy <ConfigHdr> and an additional '&' to <ConfigResp>\r
//\r
- TemChar = *StringPtr;\r
- *StringPtr = '\0';\r
- AppendToMultiString(Config, ConfigRequest);\r
- *StringPtr = TemChar;\r
+ TemString = AllocateCopyPool (sizeof (CHAR16) * (StringPtr - ConfigRequest + 1), ConfigRequest);\r
+ if (TemString == NULL) {\r
+ return EFI_OUT_OF_RESOURCES;\r
+ }\r
+ TemString[StringPtr - ConfigRequest] = '\0';\r
+ AppendToMultiString(Config, TemString);\r
+ FreePool (TemString);\r
\r
//\r
// Parse each <RequestElement> if exists\r