From: Peter Krempa Date: Mon, 21 Jan 2013 21:09:33 +0000 (+0100) Subject: qemu: Forbid snapshot names starting with '.' X-Git-Tag: v1.0.2-rc1~64 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f4ece17665138cd147b0a466b86e95f4149854b7;p=thirdparty%2Flibvirt.git qemu: Forbid snapshot names starting with '.' Forbid the names to match the loading procedure of snapshots. --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 3a54228389..72907d212f 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -11347,14 +11347,24 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain, parse_flags))) goto cleanup; - /* reject snapshot names containing slashes as snapshot definitions are - * saved in files containing the name */ - if (!(flags & VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA) && - strchr(def->name, '/')) { - virReportError(VIR_ERR_XML_DETAIL, - _("invalid snapshot name '%s': name can't contain '/'"), - def->name); - goto cleanup; + /* reject snapshot names containing slashes or starting with dot as + * snapshot definitions are saved in files named by the snapshot name */ + if (!(flags & VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA)) { + if (strchr(def->name, '/')) { + virReportError(VIR_ERR_XML_DETAIL, + _("invalid snapshot name '%s': " + "name can't contain '/'"), + def->name); + goto cleanup; + } + + if (def->name[0] == '.') { + virReportError(VIR_ERR_XML_DETAIL, + _("invalid snapshot name '%s': " + "name can't start with '.'"), + def->name); + goto cleanup; + } } /* reject the VIR_DOMAIN_SNAPSHOT_CREATE_LIVE flag where not supported */