This series fixes various issues spotted by Coverity. None of these is critical; most are just "If you do something crazy, qemu-img crashes" or "But what if there is no qcow2 driver?".
Also, none is security-relevant. The only crashes which are fixed here are sure to have resulted from dereferencing a NULL pointer. v3: - Patch 1: - s/occured/occurred/ in the commit message [Eric] - Let the bdrv_$driver objects stay as they are, that is, do not make them pointers [Kevin] - Patch 2: - Rebased onto the new patch 1 - qcow2_create2() uses bdrv_find_format("qcow2") itself, fix that place, too git-backport-diff against v2: Key: [----] : patches are identical [####] : number of functional differences between upstream/downstream patch [down] : patch is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively 001/13:[0022] [FC] 'block: Make essential BlockDriver objects public' 002/13:[0017] [FC] 'block: Omit bdrv_find_format for essential drivers' 003/13:[----] [--] 'block/vvfat: qcow driver may not be found' 004/13:[----] [--] 'block/nfs: Add create_opts' 005/13:[----] [--] 'block: Check create_opts before image creation' 006/13:[----] [--] 'qemu-img: Check create_opts before image creation' 007/13:[----] [--] 'qemu-img: Check create_opts before image amendment' 008/13:[----] [--] 'iotests: Only kill NBD server if it runs' 009/13:[----] [-C] 'iotests: Add test for unsupported image creation' 010/13:[----] [--] 'qcow2: Prevent numerical overflow' 011/13:[----] [-C] 'qcow2: Flushing the caches in qcow2_close may fail' 012/13:[----] [--] 'qcow2: Respect bdrv_truncate() error' 013/13:[----] [--] 'block/raw-posix: Fix ret in raw_open_common()' Max Reitz (13): block: Make essential BlockDriver objects public block: Omit bdrv_find_format for essential drivers block/vvfat: qcow driver may not be found block/nfs: Add create_opts block: Check create_opts before image creation qemu-img: Check create_opts before image creation qemu-img: Check create_opts before image amendment iotests: Only kill NBD server if it runs iotests: Add test for unsupported image creation qcow2: Prevent numerical overflow qcow2: Flushing the caches in qcow2_close may fail qcow2: Respect bdrv_truncate() error block/raw-posix: Fix ret in raw_open_common() block.c | 29 ++++++----- block/nfs.c | 15 ++++++ block/qcow2-cluster.c | 2 +- block/qcow2.c | 31 +++++++---- block/raw-posix.c | 3 +- block/raw-win32.c | 2 +- block/raw_bsd.c | 2 +- block/vvfat.c | 6 +++ include/block/block_int.h | 8 +++ qemu-img.c | 21 ++++++++ tests/qemu-iotests/026.out | 120 +++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/071.out | 8 +++ tests/qemu-iotests/089.out | 2 + tests/qemu-iotests/113 | 76 +++++++++++++++++++++++++++ tests/qemu-iotests/113.out | 15 ++++++ tests/qemu-iotests/common.rc | 4 +- tests/qemu-iotests/group | 1 + 17 files changed, 318 insertions(+), 27 deletions(-) create mode 100755 tests/qemu-iotests/113 create mode 100644 tests/qemu-iotests/113.out -- 1.9.3