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>
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);
}