|
From: | Eric Blake |
Subject: | Re: [Qemu-stable] [Qemu-devel] [PATCH 2/3] qemu-img: Use only string options in img_open_opts |
Date: | Wed, 2 May 2018 17:00:42 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
On 05/02/2018 03:20 PM, Max Reitz wrote:
img_open_opts() takes a QemuOpts and converts them to a QDict, so all values therein are strings. Then it may try to call qdict_get_bool(), however, which will fail with a segmentation fault every time:
I have no idea if it's worth fixing qdict_get_bool() to at least not segfault when called on a non-bool Dict member (but what should it return, true or false? or should it abort() for at least a cleaner failure than a segfault?)
But in the meantime, your fix is correct.
$ ./qemu-img info -U --image-opts \ driver=file,filename=/dev/null,force-share=off [1] 27869 segmentation fault (core dumped) ./qemu-img info -U --image-opts driver=file,filename=/dev/null,force-share=off Fix this by using qdict_get_str() and comparing the value as a string. Also, when adding a force-share value to the QDict, add it as a string so it fits the rest of the dict. Cc: address@hidden Signed-off-by: Max Reitz <address@hidden> --- qemu-img.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Eric Blake <address@hidden> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
[Prev in Thread] | Current Thread | [Next in Thread] |