diff mbox

[3/3] conf: storage: pool: reject name containing '/'

Message ID 1b928bcbdc77c52338ae49763098bb9c79746a6c.1461697488.git.crobinso@redhat.com
State Accepted
Commit 20b52668dd1300184280a1c8205370b12f0c3c63
Headers show

Commit Message

Cole Robinson April 26, 2016, 7:21 p.m. UTC
Trying to define a pool name containing an embedded '/'
will immediately fail when trying to write the XML to disk.
This patch explicitly rejects names containing a '/'

Besides our stateful driver, there are two other storage impls:
esx and phyp. esx doesn't support pool creation, so this should
doesn't apply.

phyp does support pool creation, and the name is passed to the
'mksp' tool, which google doesn't reveal whether it accepts '/'
or not. IMO the likeliness of this impacting any users is near zero
---
 src/conf/storage_conf.c | 6 ++++++
 1 file changed, 6 insertions(+)

-- 
2.7.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
diff mbox

Patch

diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index daf8f99..6fa9695 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -853,6 +853,12 @@  virStoragePoolDefParseXML(xmlXPathContextPtr ctxt)
         goto error;
     }
 
+    if (strchr(ret->name, '/')) {
+        virReportError(VIR_ERR_XML_ERROR,
+                       _("name %s cannot contain '/'"), ret->name);
+        goto error;
+    }
+
     uuid = virXPathString("string(./uuid)", ctxt);
     if (uuid == NULL) {
         if (virUUIDGenerate(ret->uuid) < 0) {