[libvirt] [PATCH] domain: avoid slash characters to the new domain name.

Julio Faracco jcfaracco at gmail.com
Tue Apr 17 03:27:27 UTC 2018


The 'domrename' command needs to check if the new domain name contains
the slash character. This character is not accepted by libvirt XML
definition because it is an invalid char (see Cole's commit b1fc6a7b7).
This commit enhace the 'domrename' command adding this check.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1333232

Signed-off-by: Julio Faracco <jcfaracco at gmail.com>
---
 src/internal.h       | 9 +++++++++
 src/libvirt-domain.c | 1 +
 2 files changed, 10 insertions(+)

diff --git a/src/internal.h b/src/internal.h
index 1760e3b69..e976b1caa 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -484,6 +484,15 @@
             goto label; \
         } \
     } while (0)
+# define virCheckNonSlashGoto(argname, label) \
+    do { \
+        if (strchr(argname, '/')) { \
+           virReportInvalidArg(ctl, \
+                               _("name %s cannot contain '/'"), \
+                               argname); \
+            goto label; \
+        } \
+    } while (0)
 
 
 
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
index 63d2ae23d..47bc59b11 100644
--- a/src/libvirt-domain.c
+++ b/src/libvirt-domain.c
@@ -8536,6 +8536,7 @@ virDomainRename(virDomainPtr dom,
     virResetLastError();
     virCheckDomainReturn(dom, -1);
     virCheckNonEmptyStringArgGoto(new_name, error);
+    virCheckNonSlashGoto(new_name, error);
     virCheckReadOnlyGoto(dom->conn->flags, error);
 
     if (dom->conn->driver->domainRename) {
-- 
2.14.1




More information about the libvir-list mailing list