Message ID | 1495548064-10926-2-git-send-email-kwolf@redhat.com |
---|---|
State | New |
Headers | show |
On 05/23/2017 09:01 AM, Kevin Wolf wrote: > 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 <kwolf@redhat.com> > --- > block/block-backend.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Eric Blake <eblake@redhat.com>
Kevin Wolf <kwolf@redhat.com> wrote: > 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 <kwolf@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com>
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; }
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 <kwolf@redhat.com> --- block/block-backend.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)