diff options
author | Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> | 2018-04-27 17:20:01 +0300 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2018-05-04 08:23:07 -0500 |
commit | 89aa0d87634e2cb98517509dc8bdb876f26ecf8b (patch) | |
tree | 714dfa4ecf91541920d8beb2a3936df80776f76e /nbd/client.c | |
parent | 26bd8d98c4b3284a4c6fe3b67c98b1edd00e9beb (diff) | |
download | qemu-89aa0d87634e2cb98517509dc8bdb876f26ecf8b.zip qemu-89aa0d87634e2cb98517509dc8bdb876f26ecf8b.tar.gz qemu-89aa0d87634e2cb98517509dc8bdb876f26ecf8b.tar.bz2 |
nbd/client: fix nbd_negotiate_simple_meta_context
Initialize received variable. Otherwise, is is possible for server to
answer without any contexts, but we will set context_id to something
random (received_id is not initialized too) and return 1, which is
wrong.
To solve it, just initialize received to false. Initialize received_id
too, just to make all possible checkers happy.
Bug was introduced in 78a33ab58782efdb206de14 "nbd: BLOCK_STATUS for
standard get_block_status function: client part" with the whole
function.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20180427142002.21930-2-vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
CC: qemu-stable@nongnu.org
Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'nbd/client.c')
-rw-r--r-- | nbd/client.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/nbd/client.c b/nbd/client.c index b9e175d..7f35b5c 100644 --- a/nbd/client.c +++ b/nbd/client.c @@ -613,8 +613,8 @@ static int nbd_negotiate_simple_meta_context(QIOChannel *ioc, { int ret; NBDOptionReply reply; - uint32_t received_id; - bool received; + uint32_t received_id = 0; + bool received = false; uint32_t export_len = strlen(export); uint32_t context_len = strlen(context); uint32_t data_len = sizeof(export_len) + export_len + |