From: Peter Krempa Date: Thu, 11 Sep 2014 15:45:06 +0000 (+0200) Subject: conf: snapshot: Don't default-snapshot empty drives X-Git-Tag: CVE-2014-3633~76 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f2a9922057f79a155e3e82027904133d6bf817d;p=thirdparty%2Flibvirt.git conf: snapshot: Don't default-snapshot empty drives If a (floppy) drive isn't selected for snapshot explicitly and is empty don't try to snapshot it. For external snapshots this would fail as we can't generate a name for the snapshot from an empty drive. Reported-by: Pavel Hrdina --- diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c index c53a66b65c..1f83b2c2a6 100644 --- a/src/conf/snapshot_conf.c +++ b/src/conf/snapshot_conf.c @@ -561,7 +561,13 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def, if (VIR_STRDUP(disk->name, def->dom->disks[i]->dst) < 0) goto cleanup; disk->index = i; - disk->snapshot = def->dom->disks[i]->snapshot; + + /* Don't snapshot empty drives */ + if (virStorageSourceIsEmpty(def->dom->disks[i]->src)) + disk->snapshot = VIR_DOMAIN_SNAPSHOT_LOCATION_NONE; + else + disk->snapshot = def->dom->disks[i]->snapshot; + disk->src->type = VIR_STORAGE_TYPE_FILE; if (!disk->snapshot) disk->snapshot = default_snapshot;