The snapshot name is used to create path to the definition save file.
When the name contains slashes the creation of the file fails. Reject
such names.
---
src/qemu/qemu_driver.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index b264fc8..8aae803 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -11342,6 +11342,16 @@ 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 the VIR_DOMAIN_SNAPSHOT_CREATE_LIVE flag where not supported */
if (flags & VIR_DOMAIN_SNAPSHOT_CREATE_LIVE &&
(!virDomainObjIsActive(vm) ||
--
1.8.1.1