diff options
author | Laszlo Ersek <lersek@redhat.com> | 2016-10-21 11:46:09 +0200 |
---|---|---|
committer | Laszlo Ersek <lersek@redhat.com> | 2016-10-25 10:46:14 +0200 |
commit | 2462bd3d85a77132e317ef90f66ef9d4ae4f54ac (patch) | |
tree | 24187548a366fd2ea7baaa34e38de78269856e93 /OvmfPkg/XenBusDxe | |
parent | 02c6760c96b579f6221933ecfb158bbac4575886 (diff) | |
download | edk2-2462bd3d85a77132e317ef90f66ef9d4ae4f54ac.tar.gz edk2-2462bd3d85a77132e317ef90f66ef9d4ae4f54ac.tar.bz2 edk2-2462bd3d85a77132e317ef90f66ef9d4ae4f54ac.zip |
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>
Diffstat (limited to 'OvmfPkg/XenBusDxe')
-rw-r--r-- | OvmfPkg/XenBusDxe/XenBusDxe.inf | 1 | ||||
-rw-r--r-- | OvmfPkg/XenBusDxe/XenStore.c | 15 |
2 files changed, 10 insertions, 6 deletions
diff --git a/OvmfPkg/XenBusDxe/XenBusDxe.inf b/OvmfPkg/XenBusDxe/XenBusDxe.inf index f0c5db98b1..5ff1cd0484 100644 --- a/OvmfPkg/XenBusDxe/XenBusDxe.inf +++ b/OvmfPkg/XenBusDxe/XenBusDxe.inf @@ -56,6 +56,7 @@ DebugLib
XenHypercallLib
SynchronizationLib
+ PrintLib
[Protocols]
gEfiDriverBindingProtocolGuid
diff --git a/OvmfPkg/XenBusDxe/XenStore.c b/OvmfPkg/XenBusDxe/XenStore.c index aa3ff7d301..b7ae1d0486 100644 --- a/OvmfPkg/XenBusDxe/XenStore.c +++ b/OvmfPkg/XenBusDxe/XenStore.c @@ -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;
|