diff options
| author | Vladimir Sementsov-Ogievskiy | 2019-12-05 18:46:35 +0100 |
|---|---|---|
| committer | Markus Armbruster | 2019-12-18 08:43:19 +0100 |
| commit | d936613547aec49b0b80193cee0b9df05cd8a2ae (patch) | |
| tree | 10d10d83ee630517834071dfca74ffc02b351eeb | |
| parent | hw/vfio/ap: drop local_err from vfio_ap_realize (diff) | |
| download | qemu-d936613547aec49b0b80193cee0b9df05cd8a2ae.tar.gz qemu-d936613547aec49b0b80193cee0b9df05cd8a2ae.tar.xz qemu-d936613547aec49b0b80193cee0b9df05cd8a2ae.zip | |
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>
| -rw-r--r-- | block/nbd.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/block/nbd.c b/block/nbd.c index 5f18f78a94..d085554f21 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) { |
