aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2011-02-14 17:34:05 -0700
committerEric Blake <eblake@redhat.com>2011-02-14 17:34:05 -0700
commit0cca53921d133d51cb4f8f11ae85b1eac4f9b9da (patch)
tree7acec18ec48c0c242fb7e0ac94c4bb89a8fbdcb1
parentbuild: silence false positive clang report (diff)
downloadlibvirt-0cca53921d133d51cb4f8f11ae85b1eac4f9b9da.tar.gz
libvirt-0cca53921d133d51cb4f8f11ae85b1eac4f9b9da.tar.bz2
libvirt-0cca53921d133d51cb4f8f11ae85b1eac4f9b9da.zip
qemu: avoid NULL deref on error
* src/qemu/qemu_command.c (qemuParseCommandLineDisk): Report error before cleaning def.
-rw-r--r--src/qemu/qemu_command.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 3ba095049..168720324 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -4603,9 +4603,10 @@ qemuParseCommandLineDisk(virCapsPtr caps,
host = def->src + strlen("nbd:");
port = strchr(host, ':');
if (!port) {
- def = NULL;
qemuReportError(VIR_ERR_INTERNAL_ERROR,
- _("cannot parse nbd filename '%s'"), def->src);
+ _("cannot parse nbd filename '%s'"),
+ def->src);
+ def = NULL;
goto cleanup;
}
*port++ = '\0';