]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
nbd/server: Silence gcc false positive
authorEric Blake <eblake@redhat.com>
Fri, 22 Jun 2018 12:58:14 +0000 (07:58 -0500)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 22 Jun 2018 13:18:36 +0000 (14:18 +0100)
The code has a while() loop that always initialized 'end', and
the loop always executes at least once (as evidenced by the assert()
just prior to the loop).  But some versions of gcc still complain
that 'end' is used uninitialized, so silence them.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20180622125814.345274-1-eblake@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
nbd/server.c

index 274604609f4079e767e7ead74d1b72eef07d35bb..50ac8bfafc685741e22d49de9d01c63c36bc0f1e 100644 (file)
@@ -1937,7 +1937,7 @@ static unsigned int bitmap_to_extents(BdrvDirtyBitmap *bitmap, uint64_t offset,
                                       unsigned int nb_extents,
                                       bool dont_fragment)
 {
-    uint64_t begin = offset, end;
+    uint64_t begin = offset, end = offset;
     uint64_t overall_end = offset + *length;
     unsigned int i = 0;
     BdrvDirtyBitmapIter *it;
@@ -1977,6 +1977,7 @@ static unsigned int bitmap_to_extents(BdrvDirtyBitmap *bitmap, uint64_t offset,
 
     bdrv_dirty_bitmap_unlock(bitmap);
 
+    assert(offset > end);
     *length = end - offset;
     return i;
 }