qtest: Fix crash if SIGABRT during qtest_init()
If an assertion fails during qtest_init() the SIGABRT handler is invoked. This is the correct behavior since we need to kill the QEMU process to avoid leaking it when the test dies. The global_qtest pointer used by the SIGABRT handler is currently only assigned after qtest_init() returns. This results in a segfault if an assertion failure occurs during qtest_init(). Move global_qtest assignment inside qtest_init(). Not pretty but let's face it - the signal handler depends on global state. Reported-by:Marcel Apfelbaum <marcel.a@redhat.com> Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com> Tested-by:
Marcel Apfelbaum <marcel.a@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
Loading
Please register or sign in to comment