blk->name isn't an array, but a pointer that can be NULL. Checking for an anonymous BB must involve a NULL check first, otherwise we get crashes.
Signed-off-by: Kevin Wolf <kw...@redhat.com> Reviewed-by: Fam Zheng <f...@redhat.com> Reviewed-by: Juan Quintela <quint...@redhat.com> Reviewed-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Jeff Cody <jc...@redhat.com> --- block/block-backend.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/block-backend.c b/block/block-backend.c index f3a6008..7d7f369 100644 --- a/block/block-backend.c +++ b/block/block-backend.c @@ -168,7 +168,7 @@ static int blk_root_inactivate(BdrvChild *child) * this point because the VM is stopped) and unattached monitor-owned * BlockBackends. If there is still any other user like a block job, then * we simply can't inactivate the image. */ - if (!blk->dev && !blk->name[0]) { + if (!blk->dev && !blk_name(blk)[0]) { return -EPERM; } -- 1.8.3.1