Message ID | 20210820163750.9106-1-peter.maydell@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | libqtest: check for g_setenv() failure | expand |
On 8/20/21 6:37 PM, 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.maydell@linaro.org> > --- > tests/qtest/libqtest.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
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.maydell@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
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); }
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> --- tests/qtest/libqtest.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)