[PATCH] conf: Report error if invalid type specified for character device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If invalid type is specified, e.g.
<serial type='foo'>
    <target port='0'/>
</serial>

We replace 'foo' with "null" type implicitly, without reporting an
error message to tell the user, and "start" or "edit" the domain
will be success.

It's not good to guess what the user wants, This patch is to fix
the problem.

* src/conf/domain_conf.c
---
 src/conf/domain_conf.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index c857a89..b4df38c 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -2821,10 +2821,14 @@ virDomainChrDefParseXML(virCapsPtr caps,
     }

     type = virXMLPropString(node, "type");
-    if (type == NULL)
+    if (type == NULL) {
         def->type = VIR_DOMAIN_CHR_TYPE_PTY;
-    else if ((def->type = virDomainChrTypeFromString(type)) < 0)
-        def->type = VIR_DOMAIN_CHR_TYPE_NULL;
+    } else if ((def->type = virDomainChrTypeFromString(type)) < 0) {
+        virDomainReportError(VIR_ERR_XML_ERROR,
+                             _("unknown type presented to host for character device: %s"),
+                             type);
+        goto error;
+    }

     nodeName = (const char *) node->name;
     if ((def->deviceType = virDomainChrDeviceTypeFromString(nodeName)) < 0) {
--
1.7.3.2

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


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]