diff options
author | Markus Armbruster <armbru@redhat.com> | 2025-03-14 15:34:59 +0100 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2025-03-19 09:36:15 +0100 |
commit | de7b18083bfed4e1a01bb40b4ad050c47d2011fa (patch) | |
tree | 2c4d2a75c112e1eb78f021413a20df0d4671c265 /hw/xen/xen_pt_graphics.c | |
parent | 1dd24ccf829db234e23156c68b013e038040bf94 (diff) | |
download | qemu-de7b18083bfed4e1a01bb40b4ad050c47d2011fa.zip qemu-de7b18083bfed4e1a01bb40b4ad050c47d2011fa.tar.gz qemu-de7b18083bfed4e1a01bb40b4ad050c47d2011fa.tar.bz2 |
hw/xen: Fix xen_bus_realize() 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
call.
xen_bus_realize() is wrong that way: it passes &local_err to
xs_node_watch() in a loop. If this fails in more than one iteration,
it can trip error_setv()'s assertion.
Fix by clearing @local_err.
Fixes: c4583c8c394e (xen-bus: reduce scope of backend watch)
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20250314143500.2449658-2-armbru@redhat.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Diffstat (limited to 'hw/xen/xen_pt_graphics.c')
0 files changed, 0 insertions, 0 deletions