OvmfPkg/XenBusDxe: eliminate AsciiStrCat() calls

AsciiStrCat() is deprecated / disabled under the
DISABLE_NEW_DEPRECATED_INTERFACES feature test macro.

Replace AsciiStrCat() with AsciiSPrint(). Spell out the (already existent)
PrintLib dependency in the INF file. Add an explicit ASSERT() to document
that XenStoreJoin() assumes that the pool allocation always succeeds.

Cc: Anthony PERARD <anthony.perard@citrix.com>
Cc: Gary Lin <glin@suse.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=166
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Gary Lin <glin@suse.com>
Tested-by: Gary Lin <glin@suse.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
Laszlo Ersek 2016-10-21 11:46:09 +02:00
parent 02c6760c96
commit 2462bd3d85
2 changed files with 10 additions and 6 deletions

View File

@ -56,6 +56,7 @@
DebugLib
XenHypercallLib
SynchronizationLib
PrintLib
[Protocols]
gEfiDriverBindingProtocolGuid

View File

@ -303,14 +303,17 @@ XenStoreJoin (
)
{
CHAR8 *Buf;
UINTN BufSize;
/* +1 for '/' and +1 for '\0' */
Buf = AllocateZeroPool (
AsciiStrLen (DirectoryPath) + AsciiStrLen (Node) + 2);
AsciiStrCat (Buf, DirectoryPath);
if (Node[0] != '\0') {
AsciiStrCat (Buf, "/");
AsciiStrCat (Buf, Node);
BufSize = AsciiStrLen (DirectoryPath) + AsciiStrLen (Node) + 2;
Buf = AllocatePool (BufSize);
ASSERT (Buf != NULL);
if (Node[0] == '\0') {
AsciiSPrint (Buf, BufSize, "%a", DirectoryPath);
} else {
AsciiSPrint (Buf, BufSize, "%a/%a", DirectoryPath, Node);
}
return Buf;