]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
storagefile: qcow1: Fix check for empty backing file
authorCole Robinson <crobinso@redhat.com>
Fri, 4 Oct 2019 22:00:55 +0000 (18:00 -0400)
committerCole Robinson <crobinso@redhat.com>
Fri, 11 Oct 2019 17:41:21 +0000 (13:41 -0400)
From f772b3d91fd the intention of this code seems to be to set
format=NONE when the image does not have a backing file. However
'buf' here is the whole qcow1 file header. What we want to be
checking is 'res' which is the parsed backing file path.
qcowXGetBackingStore sets this to NULL when there's no backing file.

Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
src/util/virstoragefile.c

index 1549067c48c243a1ef723b18531b00e46dd6ca68..016c8f07990afeedf6b43e69e498f5e6cf4e7fc7 100644 (file)
@@ -578,7 +578,7 @@ qcow1GetBackingStore(char **res,
      * used to store backing format */
     *format = VIR_STORAGE_FILE_AUTO;
     ret = qcowXGetBackingStore(res, NULL, buf, buf_size, false);
-    if (ret == BACKING_STORE_OK && *buf == '\0')
+    if (ret == BACKING_STORE_OK && !*res)
         *format = VIR_STORAGE_FILE_NONE;
     return ret;
 }