yeahuh / rpms / qemu-kvm

Forked from rpms/qemu-kvm 2 years ago
Clone

Blame SOURCES/kvm-block-An-empty-filename-counts-as-no-filename.patch

76daa3
From 010ef312704884412f63b1d6bcb308a766f21f6a Mon Sep 17 00:00:00 2001
76daa3
From: Max Reitz <mreitz@redhat.com>
76daa3
Date: Fri, 19 May 2017 14:29:46 +0200
76daa3
Subject: [PATCH 26/27] block: An empty filename counts as no filename
76daa3
MIME-Version: 1.0
76daa3
Content-Type: text/plain; charset=UTF-8
76daa3
Content-Transfer-Encoding: 8bit
76daa3
76daa3
RH-Author: Max Reitz <mreitz@redhat.com>
76daa3
Message-id: <20170519142946.22012-2-mreitz@redhat.com>
76daa3
Patchwork-id: 75383
76daa3
O-Subject: [RHV-7.4 qemu-kvm-rhev PATCH 1/1] block: An empty filename counts as no filename
76daa3
Bugzilla: 1452702
76daa3
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>
76daa3
RH-Acked-by: Wei Huang <wei@redhat.com>
76daa3
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
76daa3
76daa3
Reproducer:
76daa3
    $ ./qemu-img info ''
76daa3
    qemu-img: ./block.c:1008: bdrv_open_driver: Assertion
76daa3
        `!drv->bdrv_needs_filename || bs->filename[0]' failed.
76daa3
    [1]    26105 abort (core dumped)  ./qemu-img info ''
76daa3
76daa3
This patch fixes this to be:
76daa3
    $ ./qemu-img info ''
76daa3
    qemu-img: Could not open '': The 'file' block driver requires a file
76daa3
    name
76daa3
76daa3
Cc: qemu-stable <qemu-stable@nongnu.org>
76daa3
Signed-off-by: Max Reitz <mreitz@redhat.com>
76daa3
Reviewed-by: Eric Blake <eblake@redhat.com>
76daa3
Reviewed-by: Fam Zheng <famz@redhat.com>
76daa3
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
76daa3
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
76daa3
(cherry picked from commit 4a0082401a770261b85625a41eef4a4e89ad7a74)
76daa3
Signed-off-by: Max Reitz <mreitz@redhat.com>
76daa3
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
76daa3
---
76daa3
 block.c | 2 +-
76daa3
 1 file changed, 1 insertion(+), 1 deletion(-)
76daa3
76daa3
diff --git a/block.c b/block.c
76daa3
index 6201991..5bc0504 100644
76daa3
--- a/block.c
76daa3
+++ b/block.c
76daa3
@@ -1204,7 +1204,7 @@ static int bdrv_open_common(BlockDriverState *bs, BlockBackend *file,
76daa3
         filename = qdict_get_try_str(options, "filename");
76daa3
     }
76daa3
 
76daa3
-    if (drv->bdrv_needs_filename && !filename) {
76daa3
+    if (drv->bdrv_needs_filename && (!filename || !filename[0])) {
76daa3
         error_setg(errp, "The '%s' block driver requires a file name",
76daa3
                    drv->format_name);
76daa3
         ret = -EINVAL;
76daa3
-- 
76daa3
1.8.3.1
76daa3