summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MdeModulePkg/Universal/HiiDatabaseDxe/ConfigKeywordHandler.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigKeywordHandler.c b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigKeywordHandler.c
index e88a0c4597..ccd6f820c6 100644
--- a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigKeywordHandler.c
+++ b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigKeywordHandler.c
@@ -2979,6 +2979,8 @@ EfiConfigKeywordHandlerSetData (
*ProgressErr = KEYWORD_HANDLER_NO_ERROR;
Done:
+ *Progress = KeywordString + (StringPtr - TempString);
+
ASSERT (TempString != NULL);
FreePool (TempString);
if (NameSpace != NULL) {
@@ -2998,8 +3000,8 @@ Done:
}
if (MultiConfigResp != NULL && MultiConfigResp != ConfigResp) {
FreePool (MultiConfigResp);
- }
- *Progress = StringPtr;
+ }
+
return Status;
}
@@ -3271,6 +3273,8 @@ EfiConfigKeywordHandlerGetData (
*ProgressErr = KEYWORD_HANDLER_NO_ERROR;
Done:
+ *Progress = KeywordString + (StringPtr - TempString);
+
if (TempString != NULL) {
FreePool (TempString);
}
@@ -3283,6 +3287,6 @@ Done:
if (KeywordData != NULL) {
FreePool (KeywordData);
}
- *Progress = StringPtr;
+
return Status;
}