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
}
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) {