From: Anya Harter Date: Wed, 20 Jun 2018 13:16:59 +0000 (-0400) Subject: qemu: use virBuffer in qemuBuildSCSIiSCSIHostdevDrvStr X-Git-Tag: v4.5.0-rc1~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b770f9a3bdabb1a1b460227b0b7015e4f9cc621;p=thirdparty%2Flibvirt.git qemu: use virBuffer in qemuBuildSCSIiSCSIHostdevDrvStr Instead of source to enable use of virBuffer functions in string construction. Signed-off-by: Anya Harter --- diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a357d2199c..1aa7c7adc3 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4643,7 +4643,8 @@ static char * qemuBuildSCSIiSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, virQEMUCapsPtr qemuCaps) { - char *source = NULL; + virBuffer buf = VIR_BUFFER_INITIALIZER; + char *netsource = NULL; virJSONValuePtr srcprops = NULL; virDomainHostdevSubsysSCSIPtr scsisrc = &dev->source.subsys.u.scsi; @@ -4656,21 +4657,25 @@ qemuBuildSCSIiSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, goto cleanup; if (!(netsource = virQEMUBuildDriveCommandlineFromJSON(srcprops))) goto cleanup; - if (virAsprintf(&source, "%s,if=none,format=raw", netsource) < 0) - goto cleanup; + virBufferAsprintf(&buf, "%s,if=none,format=raw", netsource); } else { /* Rather than pull what we think we want - use the network disk code */ if (!(netsource = qemuBuildNetworkDriveStr(iscsisrc->src, srcPriv ? srcPriv->secinfo : NULL))) goto cleanup; - if (virAsprintf(&source, "file=%s,if=none,format=raw", netsource) < 0) - goto cleanup; + virBufferAsprintf(&buf, "file=%s,if=none,format=raw", netsource); } + if (virBufferCheckError(&buf) < 0) + goto cleanup; + + return virBufferContentAndReset(&buf); + cleanup: VIR_FREE(netsource); virJSONValueFree(srcprops); - return source; + virBufferFreeAndReset(&buf); + return NULL; } char *