qemu/block/export
Kevin Wolf a184563778 block/export: Fix null pointer dereference in error path
There are some error paths in blk_exp_add() that jump to 'fail:' before
'exp' is even created. So we can't just unconditionally access exp->blk.

Add a NULL check, and switch from exp->blk to blk, which is available
earlier, just to be extra sure that we really cover all cases where
BlockDevOps could have been set for it (in practice, this only happens
in drv->create() today, so this part of the change isn't strictly
necessary).

Fixes: Coverity CID 1509238
Fixes: de79b52604
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230510203601.418015-3-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Tested-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2023-05-19 19:12:12 +02:00
..
export.c block/export: Fix null pointer dereference in error path 2023-05-19 19:12:12 +02:00
fuse.c block/fuse: Let PUNCH_HOLE write zeroes 2023-03-10 15:14:46 +01:00
meson.build vduse-blk: Implement vduse-blk export 2022-06-24 17:07:06 +02:00
vduse-blk.c block/export: call blk_set_dev_ops(blk, NULL, NULL) 2023-05-03 14:00:08 -05:00
vduse-blk.h vduse-blk: Implement vduse-blk export 2022-06-24 17:07:06 +02:00
vhost-user-blk-server.c vhost-user-blk-server: notify client about disk resize 2023-04-21 04:25:52 -04:00
vhost-user-blk-server.h
virtio-blk-handler.c block/export: Fix graph locking in blk_get_geometry() call 2023-03-27 15:16:05 +02:00
virtio-blk-handler.h vduse-blk: Add serial option 2022-06-24 17:07:06 +02:00