From: Zhenzhong Duan <[email protected]>

Based on the description of error_setg(), the local variable err in
qemu_maybe_daemonize() should be initialized to NULL.

Without fix, the uninitialized *errp triggers assert failure which
doesn't show much valuable information.

Before the fix:
qemu-system-x86_64: ../util/error.c:59: error_setv: Assertion `*errp == NULL' 
failed.

After fix:
qemu-system-x86_64: cannot create PID file: Cannot open pid file: Permission 
denied

Signed-off-by: Zhenzhong Duan <[email protected]>
Message-Id: <[email protected]>
Cc: [email protected]
Fixes: 0546c0609c ("vl: split various early command line options to a separate 
function", 2020-12-10)
Signed-off-by: Paolo Bonzini <[email protected]>
---
 softmmu/vl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 326c1e9080..feb4d201f3 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -2522,7 +2522,7 @@ static void qemu_process_help_options(void)
 
 static void qemu_maybe_daemonize(const char *pid_file)
 {
-    Error *err;
+    Error *err = NULL;
 
     os_daemonize();
     rcu_disable_atfork();
-- 
2.31.1



Reply via email to