summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/XenBusDxe
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2016-10-21 11:46:09 +0200
committerLaszlo Ersek <lersek@redhat.com>2016-10-25 10:46:14 +0200
commit2462bd3d85a77132e317ef90f66ef9d4ae4f54ac (patch)
tree24187548a366fd2ea7baaa34e38de78269856e93 /OvmfPkg/XenBusDxe
parent02c6760c96b579f6221933ecfb158bbac4575886 (diff)
downloadedk2-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.inf1
-rw-r--r--OvmfPkg/XenBusDxe/XenStore.c15
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;