diff --git a/block.c b/block.c index f38146e2e8..6490040b43 100644 --- a/block.c +++ b/block.c @@ -1104,12 +1104,17 @@ static void bdrv_detach_child(BdrvChild *child) void bdrv_unref_child(BlockDriverState *parent, BdrvChild *child) { - BlockDriverState *child_bs = child->bs; + BlockDriverState *child_bs; + + if (child == NULL) { + return; + } if (child->bs->inherits_from == parent) { child->bs->inherits_from = NULL; } + child_bs = child->bs; bdrv_detach_child(child); bdrv_unref(child_bs); }