Re: [Qemu-devel] [PATCH] do not check pointers after dereferencing them
On Fri, May 31, 2013 at 06:46:21AM -0600, Eric Blake wrote: On 05/31/2013 06:00 AM, Paolo Bonzini wrote: Two instances, both spotted by Coverity. In one, two blocks were swapped. In the other, the check is not needed anymore. Cc: qemu-sta...@nongnu.org Cc: qemu-triv...@nongnu.org Signed-off-by: Paolo Bonzini pbonz...@redhat.com --- monitor.c | 2 +- savevm.c | 10 +- 2 files changed, 6 insertions(+), 6 deletions(-) This version of the savevm.c fix is nicer than Stefan's attempt: https://lists.gnu.org/archive/html/qemu-devel/2013-05/msg04506.html Reviewed-by: Eric Blake ebl...@redhat.com I'll drop mine. I didn't dare to swap the blocks just in case something dependend on doing the popen() and bailing out afterwards, but it's hard to imagine that. Stefan
[Qemu-devel] [PATCH] 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-sta...@nongnu.org Cc: qemu-triv...@nongnu.org Signed-off-by: Paolo Bonzini pbonz...@redhat.com --- monitor.c | 2 +- savevm.c | 10 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/monitor.c b/monitor.c index 6ce2a4e..eefc7f0 100644 --- a/monitor.c +++ b/monitor.c @@ -280,7 +280,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 31dcce9..4e0fab6 100644 --- a/savevm.c +++ b/savevm.c @@ -322,16 +322,16 @@ QEMUFile *qemu_popen_cmd(const char *command, const char *mode) FILE *stdio_file; QEMUFileStdio *s; -stdio_file = popen(command, mode); -if (stdio_file == NULL) { -return NULL; -} - if (mode == NULL || (mode[0] != 'r' mode[0] != 'w') || mode[1] != 0) { fprintf(stderr, qemu_popen: Argument validity check failed\n); return NULL; } +stdio_file = popen(command, mode); +if (stdio_file == NULL) { +return NULL; +} + s = g_malloc0(sizeof(QEMUFileStdio)); s-stdio_file = stdio_file; -- 1.8.1.4
Re: [Qemu-devel] [PATCH] do not check pointers after dereferencing them
On 05/31/2013 06:00 AM, Paolo Bonzini wrote: Two instances, both spotted by Coverity. In one, two blocks were swapped. In the other, the check is not needed anymore. Cc: qemu-sta...@nongnu.org Cc: qemu-triv...@nongnu.org Signed-off-by: Paolo Bonzini pbonz...@redhat.com --- monitor.c | 2 +- savevm.c | 10 +- 2 files changed, 6 insertions(+), 6 deletions(-) This version of the savevm.c fix is nicer than Stefan's attempt: https://lists.gnu.org/archive/html/qemu-devel/2013-05/msg04506.html Reviewed-by: Eric Blake ebl...@redhat.com +++ b/savevm.c @@ -322,16 +322,16 @@ QEMUFile *qemu_popen_cmd(const char *command, const char *mode) FILE *stdio_file; QEMUFileStdio *s; -stdio_file = popen(command, mode); -if (stdio_file == NULL) { -return NULL; -} - if (mode == NULL || (mode[0] != 'r' mode[0] != 'w') || mode[1] != 0) { fprintf(stderr, qemu_popen: Argument validity check failed\n); return NULL; } +stdio_file = popen(command, mode); +if (stdio_file == NULL) { +return NULL; +} + s = g_malloc0(sizeof(QEMUFileStdio)); s-stdio_file = stdio_file; -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature