On 27.03.2017 18:10, Max Reitz wrote: > On 27.03.2017 15:26, Markus Armbruster wrote: >> qemu_rbd_open() neglects to check pool and image are present. >> Reproducer: >> >> $ qemu-system-x86_64 -nodefaults -drive if=none,driver=rbd,pool=p >> Segmentation fault (core dumped) >> $ qemu-system-x86_64 -nodefaults -drive if=none,driver=rbd,image=i >> qemu-system-x86_64: -drive if=none,driver=rbd,image=i: error opening >> pool (null) >> >> Doesn't affect -drive with file=..., because qemu_rbd_parse_filename() >> always sets both pool and image. >> >> Doesn't affect -blockdev, because pool and image are mandatory in the >> QAPI schema. >> >> Fix by adding the missing checks. >> >> Signed-off-by: Markus Armbruster <arm...@redhat.com> >> Reviewed-by: Eric Blake <ebl...@redhat.com> >> --- >> block/rbd.c | 10 +++++++--- >> 1 file changed, 7 insertions(+), 3 deletions(-) > > Reviewed-by: Max Reitz <mre...@redhat.com>
That said, don't we have a similar issue with qemu_rbd_create()? It too doesn't check whether those options are given but I guess they're just as mandatory. Max
signature.asc
Description: OpenPGP digital signature