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