diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2021-08-20 17:37:50 +0100 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2021-09-06 09:07:00 +0200 |
commit | aca68d95c51513ace81394dc0974a67b99abb234 (patch) | |
tree | 0becde520a157c555d85b110b6184c8687520c35 | |
parent | 1ea47ede63330c44292424df70dfb0ee44d2110f (diff) |
libqtest: check for g_setenv() failure
g_setenv() can fail; check for it when starting a QEMU process
when we set the QEMU_AUDIO_DRV environment variable.
Because this happens after fork() reporting an exact message
via printf() is a bad idea; just exit(1), as we already do
for the case of execlp() failure.
Fixes: Coverity CID 1460117
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210820163750.9106-1-peter.maydell@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
-rw-r--r-- | tests/qtest/libqtest.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c index 825b13a44c..73f6b977a6 100644 --- a/tests/qtest/libqtest.c +++ b/tests/qtest/libqtest.c @@ -301,7 +301,9 @@ QTestState *qtest_init_without_qmp_handshake(const char *extra_args) s->expected_status = 0; s->qemu_pid = fork(); if (s->qemu_pid == 0) { - g_setenv("QEMU_AUDIO_DRV", "none", true); + if (!g_setenv("QEMU_AUDIO_DRV", "none", true)) { + exit(1); + } execlp("/bin/sh", "sh", "-c", command, NULL); exit(1); } |