On 20/08/2021 18.37, Peter Maydell wrote:
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.mayd...@linaro.org>
---
  tests/qtest/libqtest.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
index 825b13a44c7..73f6b977a66 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);
      }

Thanks, queued to my testing-next branch:

 https://gitlab.com/thuth/qemu/-/commits/testing-next

 Thomas



Reply via email to