mirror of https://github.com/acidanthera/audk.git
MdePkg UefiLib: Fix wrong DestMax passed to StrCpyS()
The second parameter 'DestMax' of StrCpyS() should be the number of unicode characters, not the size in bytes. Also, code is modified to keep align with the one in IntelFrameworkPkg\Library\FrameworkUefiLib\UefiLibPrint.c. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18160 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
dba2756893
commit
a3f28ac92c
|
@ -754,14 +754,16 @@ CatVSPrint (
|
|||
SizeRequired = sizeof(CHAR16) + (CharactersRequired * sizeof(CHAR16));
|
||||
}
|
||||
|
||||
BufferToReturn = AllocateZeroPool(SizeRequired);
|
||||
BufferToReturn = AllocatePool(SizeRequired);
|
||||
|
||||
if (BufferToReturn == NULL) {
|
||||
return NULL;
|
||||
} else {
|
||||
BufferToReturn[0] = L'\0';
|
||||
}
|
||||
|
||||
|
||||
if (String != NULL) {
|
||||
StrCpyS(BufferToReturn, SizeRequired, String);
|
||||
StrCpyS(BufferToReturn, SizeRequired / sizeof(CHAR16), String);
|
||||
}
|
||||
|
||||
UnicodeVSPrint(BufferToReturn + StrLen(BufferToReturn), (CharactersRequired+1) * sizeof(CHAR16), FormatString, Marker);
|
||||
|
|
Loading…
Reference in New Issue