From: Paolo Bonzini Date: Fri, 31 May 2013 12:00:27 +0000 (+0200) Subject: do not check pointers after dereferencing them X-Git-Tag: v1.5.1~41 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=baa8a8b44452f4a51de5ba33089dd8882d3fa545;hp=327e75b537c3b7bc25ac83bedeb4a40c782796c3;p=qemu.git do not check pointers after dereferencing them Two instances, both spotted by Coverity. In one, two blocks were swapped. In the other, the check is not needed anymore. Cc: qemu-stable@nongnu.org Cc: qemu-trivial@nongnu.org Signed-off-by: Paolo Bonzini Reviewed-by: Eric Blake Signed-off-by: Michael Tokarev (cherry picked from commit a4cc73d629d43c8a4d171d043ff229a959df3ca6) Signed-off-by: Michael Roth --- diff --git a/monitor.c b/monitor.c index 62aaebe66..dee980ca5 100644 --- a/monitor.c +++ b/monitor.c @@ -281,7 +281,7 @@ void monitor_flush(Monitor *mon) buf = qstring_get_str(mon->outbuf); len = qstring_get_length(mon->outbuf); - if (mon && len && !mon->mux_out) { + if (len && !mon->mux_out) { rc = qemu_chr_fe_write(mon->chr, (const uint8_t *) buf, len); if (rc == len) { /* all flushed */ diff --git a/savevm.c b/savevm.c index 31dcce975..4e0fab6cd 100644 --- a/savevm.c +++ b/savevm.c @@ -322,13 +322,13 @@ QEMUFile *qemu_popen_cmd(const char *command, const char *mode) FILE *stdio_file; QEMUFileStdio *s; - stdio_file = popen(command, mode); - if (stdio_file == NULL) { + if (mode == NULL || (mode[0] != 'r' && mode[0] != 'w') || mode[1] != 0) { + fprintf(stderr, "qemu_popen: Argument validity check failed\n"); return NULL; } - if (mode == NULL || (mode[0] != 'r' && mode[0] != 'w') || mode[1] != 0) { - fprintf(stderr, "qemu_popen: Argument validity check failed\n"); + stdio_file = popen(command, mode); + if (stdio_file == NULL) { return NULL; }