From 4a051b807ec35d2b0aab125add19edb6d769bddb Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 29 May 2014 16:46:38 +0200 Subject: [PATCH] util: storage: Fix crash of libvirtd on network backed guest block-pull For guests backed by gluster volumes (or other network storage) we don't fill the backing chain (see qemuDomainDetermineDiskChain). This leaves the "relPath" field of the top image NULL. This causes a crash in virStorageFileChainLookup() when looking up a backing element for such a disk. Since I'm working on adding support for network storage and one of the steps will make the "relPath" field optional let's use STREQ_NULLABLE instead of STREQ in virStorageFileChainLookup() to avoid the problem. --- src/util/virstoragefile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 2feda67699..c9b6187fc7 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -1591,7 +1591,7 @@ virStorageFileChainLookup(virStorageSourcePtr chain, if (idx == i) break; } else { - if (STREQ(name, chain->relPath)) + if (STREQ_NULLABLE(name, chain->relPath)) break; if (nameIsFile && (chain->type == VIR_STORAGE_TYPE_FILE || chain->type == VIR_STORAGE_TYPE_BLOCK)) { -- GitLab