aboutsummaryrefslogtreecommitdiff
path: root/block/nbd.c
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2019-12-05 20:46:35 +0300
committerMarkus Armbruster <armbru@redhat.com>2019-12-18 08:43:19 +0100
commitd936613547aec49b0b80193cee0b9df05cd8a2ae (patch)
tree10d10d83ee630517834071dfca74ffc02b351eeb /block/nbd.c
parentb5e45b0f48ae837d693230809d97615bc0862832 (diff)
downloadqemu-d936613547aec49b0b80193cee0b9df05cd8a2ae.zip
qemu-d936613547aec49b0b80193cee0b9df05cd8a2ae.tar.gz
qemu-d936613547aec49b0b80193cee0b9df05cd8a2ae.tar.bz2
nbd: assert that Error** is not NULL in nbd_iter_channel_error
All callers of nbd_iter_channel_error() pass the address of a local_err variable, and only call this function if an error has already occurred, using this function to propagate that error. This is already implied by its name (local_err instead of the classic errp), but it is worth additionally stressing this by adding an assertion to make it part of the function contract. The local_err parameter is not here to return information about nbd_iter_channel_error failure. Instead it's assumed to be filled when passed to the function. This is already stressed by its name (local_err, instead of classic errp). Stress it additionally by assertion. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20191205174635.18758-22-vsementsov@virtuozzo.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'block/nbd.c')
-rw-r--r--block/nbd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/block/nbd.c b/block/nbd.c
index 5f18f78..d085554 100644
--- a/block/nbd.c
+++ b/block/nbd.c
@@ -866,6 +866,7 @@ typedef struct NBDReplyChunkIter {
static void nbd_iter_channel_error(NBDReplyChunkIter *iter,
int ret, Error **local_err)
{
+ assert(local_err && *local_err);
assert(ret < 0);
if (!iter->ret) {