If the user wants to create a chardev of type socket but forgets to give a host= option, qemu_opt_get returns NULL. This NULL pointer is then fed into strlen a few lines below without a check which results in a segfault. This fixes it.
Signed-off-by: Jens Osterkamp <j...@linux.vnet.ibm.com> --- qemu-sockets.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/qemu-sockets.c b/qemu-sockets.c index 23c3def..a191304 100644 --- a/qemu-sockets.c +++ b/qemu-sockets.c @@ -137,6 +137,9 @@ int inet_listen_opts(QemuOpts *opts, int port_offset) pstrcpy(port, sizeof(port), qemu_opt_get(opts, "port")); addr = qemu_opt_get(opts, "host"); + if (!addr) + return -1; + to = qemu_opt_get_number(opts, "to", 0); if (qemu_opt_get_bool(opts, "ipv4", 0)) ai.ai_family = PF_INET; -- 1.5.6.3 -- Best regards, Jens Osterkamp -------------------------------------------------------------------------------- IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martin Jetter Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294