[libvirt] [PATCH] qemu: add return value check

From: Alex Jia <ajia@redhat.com> * src/qemu/qemu_command.c: missing return value check. Signed-off-by: Alex Jia <ajia@redhat.com> --- src/qemu/qemu_command.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 5f0de40..e8b1157 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1702,7 +1702,8 @@ qemuBuildDriveDevStr(virDomainDiskDefPtr disk, virBufferAsprintf(&opt, ",event_idx=%s", virDomainVirtioEventIdxTypeToString(disk->event_idx)); } - qemuBuildDeviceAddressStr(&opt, &disk->info, qemuCaps); + if (qemuBuildDeviceAddressStr(&opt, &disk->info, qemuCaps) < 0) + goto error; break; case VIR_DOMAIN_DISK_BUS_USB: virBufferAddLit(&opt, "usb-storage"); @@ -1781,7 +1782,9 @@ qemuBuildFSDevStr(virDomainFSDefPtr fs, virBufferAsprintf(&opt, ",id=%s", fs->info.alias); virBufferAsprintf(&opt, ",fsdev=%s%s", QEMU_FSDEV_HOST_PREFIX, fs->info.alias); virBufferAsprintf(&opt, ",mount_tag=%s", fs->dst); - qemuBuildDeviceAddressStr(&opt, &fs->info, qemuCaps); + + if (qemuBuildDeviceAddressStr(&opt, &fs->info, qemuCaps) < 0) + goto error; if (virBufferError(&opt)) { virReportOOMError(); -- 1.7.1

On 09/16/2011 09:51 AM, ajia@redhat.com wrote:
From: Alex Jia<ajia@redhat.com>
* src/qemu/qemu_command.c: missing return value check.
Signed-off-by: Alex Jia<ajia@redhat.com> --- src/qemu/qemu_command.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 5f0de40..e8b1157 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1702,7 +1702,8 @@ qemuBuildDriveDevStr(virDomainDiskDefPtr disk, virBufferAsprintf(&opt, ",event_idx=%s", virDomainVirtioEventIdxTypeToString(disk->event_idx)); } - qemuBuildDeviceAddressStr(&opt,&disk->info, qemuCaps); + if (qemuBuildDeviceAddressStr(&opt,&disk->info, qemuCaps)< 0) + goto error;
ACK and pushed. I'm assuming you found this with a static analyzer? -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

On 09/17/2011 05:06 AM, Eric Blake wrote:
On 09/16/2011 09:51 AM, ajia@redhat.com wrote:
From: Alex Jia<ajia@redhat.com>
* src/qemu/qemu_command.c: missing return value check.
Signed-off-by: Alex Jia<ajia@redhat.com> --- src/qemu/qemu_command.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 5f0de40..e8b1157 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1702,7 +1702,8 @@ qemuBuildDriveDevStr(virDomainDiskDefPtr disk, virBufferAsprintf(&opt, ",event_idx=%s",
virDomainVirtioEventIdxTypeToString(disk->event_idx)); } - qemuBuildDeviceAddressStr(&opt,&disk->info, qemuCaps); + if (qemuBuildDeviceAddressStr(&opt,&disk->info, qemuCaps)< 0) + goto error;
ACK and pushed. I'm assuming you found this with a static analyzer?
Hi Eric, It seems ccc-analyzer keeps silence for this, so I'm trying Coverity to analyse codes, the above issues are catched by Coverity. BTW, I want to apply join coverity-users mail listing, and sent a email to Jeff cc to you & DV, but I haven't received any reply, so I try to find some Coverity resources myself and run it on libvirt source codes. Thanks & Regards, Alex
participants (3)
-
ajia@redhat.com
-
Alex Jia
-
Eric Blake