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.
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) ||