|
| From: | Eric Blake |
| Subject: | Re: [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] |