qemu-io-cmds: assert that we don't have .perm requested in no-blk case
Coverity thinks blk may be NULL. It's a false-positive, as described in a new comment. Fixes: Coverity CID 1453194 Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20210519090532.3753-1-vsementsov@virtuozzo.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
5529b02da2
commit
8eaf10187a
@ -92,9 +92,19 @@ static int command(BlockBackend *blk, const cmdinfo_t *ct, int argc,
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Request additional permissions if necessary for this command. The caller
|
/*
|
||||||
|
* Request additional permissions if necessary for this command. The caller
|
||||||
* is responsible for restoring the original permissions afterwards if this
|
* is responsible for restoring the original permissions afterwards if this
|
||||||
* is what it wants. */
|
* is what it wants.
|
||||||
|
*
|
||||||
|
* Coverity thinks that blk may be NULL in the following if condition. It's
|
||||||
|
* not so: in init_check_command() we fail if blk is NULL for command with
|
||||||
|
* both CMD_FLAG_GLOBAL and CMD_NOFILE_OK flags unset. And in
|
||||||
|
* qemuio_add_command() we assert that command with non-zero .perm field
|
||||||
|
* doesn't set this flags. So, the following assertion is to silence
|
||||||
|
* Coverity:
|
||||||
|
*/
|
||||||
|
assert(blk || !ct->perm);
|
||||||
if (ct->perm && blk_is_available(blk)) {
|
if (ct->perm && blk_is_available(blk)) {
|
||||||
uint64_t orig_perm, orig_shared_perm;
|
uint64_t orig_perm, orig_shared_perm;
|
||||||
blk_get_perm(blk, &orig_perm, &orig_shared_perm);
|
blk_get_perm(blk, &orig_perm, &orig_shared_perm);
|
||||||
|
Loading…
Reference in New Issue
Block a user