• K
    block: Fix error path segfault in bdrv_open() · eb909c7f
    Kevin Wolf 提交于
    Using an invalid option for a block device that is opened with
    BDRV_O_PROTOCOL led to drv = NULL, and when trying to include the driver
    name in the error message, qemu dereferenced it:
    
        $ x86_64-softmmu/qemu-system-x86_64 -drive file=/tmp/test.qcow2,file.foo=bar
        Segmentation fault (core dumped)
    
    With this patch applied, the expected error message is printed:
    
        $ x86_64-softmmu/qemu-system-x86_64 -drive file=/tmp/test.qcow2,file.foo=bar
        qemu-system-x86_64: -drive file=/tmp/test.qcow2,file.foo=bar: could
        not open disk image /tmp/test.qcow2: Block protocol 'file' doesn't
        support the option 'foo'
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    Reviewed-by: NBenoit Canet <benoit@irqsave.net>
    eb909c7f
051 6.7 KB