Calling error_get_progname() in the context of qemu-io can cause
segmentation fault because qemu-io doesn't initialize its progname
with error_set_progname(). This patch adds the initialization.

Currently, the missing call of error_set_progname() doesn't cause any
problems because qemu-io doesn't use error_get_progname(). This patch
is a proactive action.

Cc: Kevin Wolf <kw...@redhat.com>
Cc: Stefan Hajnoczi <stefa...@redhat.com>
Cc: Markus Armbruster <arm...@redhat.com>
Signed-off-by: Hitoshi Mitake <mitake.hito...@lab.ntt.co.jp>
---
 qemu-io.c | 1 +
 1 file changed, 1 insertion(+)

v2:
 - pass argv[0] directly to error_set_progname() without calling basename

diff --git a/qemu-io.c b/qemu-io.c
index 91a445a..0e7d7d4 100644
--- a/qemu-io.c
+++ b/qemu-io.c
@@ -396,6 +396,7 @@ int main(int argc, char **argv)
 
     progname = basename(argv[0]);
     qemu_init_exec_dir(argv[0]);
+    error_set_progname(argv[0]);
 
     bdrv_init();
 
-- 
1.9.1


Reply via email to