Theoretically possible that we finish the skipping loop with bs = NULL and the following code will crash trying to dereference it. Fix that.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- migration/block-dirty-bitmap.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c index 477826330c..6de808f95f 100644 --- a/migration/block-dirty-bitmap.c +++ b/migration/block-dirty-bitmap.c @@ -288,6 +288,10 @@ static int init_dirty_bitmap_migration(void) bs = backing_bs(bs); } + if (!bs || bs->implicit) { + continue; + } + for (bitmap = bdrv_dirty_bitmap_next(bs, NULL); bitmap; bitmap = bdrv_dirty_bitmap_next(bs, bitmap)) { -- 2.18.0