MdeModulePkg/SetupBrowser: Clean the BufferValue for string before use

When copy new string content to BufferValue, need to clean the
BufferValue firstly, or the BufferValue may contain some
content that doesn't belong to the new string.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Dandan Bi
2016-05-10 18:51:44 +08:00
committed by Star Zeng
parent fa209e8c20
commit 05b2f9c94e
2 changed files with 5 additions and 1 deletions

View File

@ -4100,6 +4100,7 @@ GetQuestionDefault (
ASSERT (StrLen (NewString) * sizeof (CHAR16) <= Question->StorageWidth);
if (StrLen (NewString) * sizeof (CHAR16) <= Question->StorageWidth) {
ZeroMem (Question->BufferValue, Question->StorageWidth);
CopyMem (Question->BufferValue, NewString, StrSize (NewString));
} else {
CopyMem (Question->BufferValue, NewString, Question->StorageWidth);
@ -4170,6 +4171,7 @@ GetQuestionDefault (
return EFI_NOT_FOUND;
}
if (Question->StorageWidth > StrSize (StrValue)) {
ZeroMem (Question->BufferValue, Question->StorageWidth);
CopyMem (Question->BufferValue, StrValue, StrSize (StrValue));
} else {
CopyMem (Question->BufferValue, StrValue, Question->StorageWidth);