All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for-5.2?] nbd: Silence Coverity false positive
@ 2020-11-11 16:35 Eric Blake
  2020-11-12 21:04 ` Richard Henderson
  0 siblings, 1 reply; 4+ messages in thread
From: Eric Blake @ 2020-11-11 16:35 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, vsementsov, open list:Network Block Dev...

Coverity noticed (CID 1436125) that we check the return value of
nbd_extent_array_add in most places, but not at the end of
bitmap_to_extents().  The return value exists to break loops before a
future iteration, so there is nothing to check if we are already done
iterating.  That said, a minor rearrangement to the code plus a better
comment pacifies Coverity.

Signed-off-by: Eric Blake <eblake@redhat.com>
---

Not a show-stopper by itself for 5.2, but perhaps worth including
in -rc2 if I collect other more-important patches.

 nbd/server.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/nbd/server.c b/nbd/server.c
index d145e1a69083..377698a2ce85 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -2128,9 +2128,8 @@ static void bitmap_to_extents(BdrvDirtyBitmap *bitmap,
         }
     }

-    if (!full) {
-        /* last non dirty extent */
-        nbd_extent_array_add(es, end - start, 0);
+    if (!full && nbd_extent_array_add(es, end - start, 0) < 0) {
+        /* last non dirty extent, nothing to do if array was already full */
     }

     bdrv_dirty_bitmap_unlock(bitmap);
-- 
2.28.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-11-12 21:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-11 16:35 [PATCH for-5.2?] nbd: Silence Coverity false positive Eric Blake
2020-11-12 21:04 ` Richard Henderson
2020-11-12 21:09   ` Eric Blake
2020-11-12 21:18     ` Richard Henderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.