qemu-e2k/qga
Markus Armbruster 51bd458166 qga: Fix qmp_guest_suspend_{disk, ram}() error handling
The Error ** argument must be NULL, &error_abort, &error_fatal, or a
pointer to a variable containing NULL.  Passing an argument of the
latter kind twice without clearing it in between is wrong: if the
first call sets an error, it no longer points to NULL for the second

qmp_guest_suspend_disk() and qmp_guest_suspend_ram() pass @local_err
first to check_suspend_mode(), then to acquire_privilege(), then to
execute_async().  Continuing after errors here can only end in tears.
For instance, we risk tripping error_setv()'s assertion.

Fixes: aa59637ea1
Fixes: f54603b6aa
Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200422130719.28225-15-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2020-04-29 08:01:52 +02:00
..
installer qga: Installer: Wait for installation to finish 2020-03-24 11:32:19 -05:00
vss-win32 qga-win: Handle VSS_E_PROVIDER_ALREADY_REGISTERED error 2020-03-24 11:32:19 -05:00
channel-posix.c socket: Add backlog parameter to socket_listen 2019-09-03 23:24:42 +02:00
channel-win32.c qga: Fix a memory leak 2020-03-09 13:36:15 +01:00
channel.h
commands-common.h qga: Extract qmp_guest_file_read() to common commands.c 2020-04-15 09:15:53 -05:00
commands-posix.c qga: Fix qmp_guest_get_memory_blocks() error handling 2020-04-29 08:01:52 +02:00
commands-win32.c qga: Fix qmp_guest_suspend_{disk, ram}() error handling 2020-04-29 08:01:52 +02:00
commands.c qga: Restrict guest-file-read count to 48 MB to avoid crashes 2020-04-15 09:18:48 -05:00
guest-agent-command-state.c
guest-agent-core.h
main.c qemu-ga: document vsock-listen in the man page 2020-03-24 11:32:19 -05:00
Makefile.objs qapi: Generate command registration stuff into separate files 2020-01-14 11:01:58 +01:00
qapi-schema.json qga: Restrict guest-file-read count to 48 MB to avoid crashes 2020-04-15 09:18:48 -05:00
service-win32.c
service-win32.h
vss-win32.c
vss-win32.h