[PATCH 0/2] Couple of XML parsing fixes

Pipeline: https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/297747756 Michal Prívozník (2): virDomainChrSourceDefParseXML: Fix attribute names for nmdm type virDomainVideoDriverDefParseXML: Allow zero value for @vgaconf src/conf/domain_conf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -- 2.26.3

While reworking the patch I've mistakenly mangled the attribute names for VIR_DOMAIN_CHR_TYPE_NMDM. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/domain_conf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index d5d8bd0a01..3319cb49cf 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -11314,7 +11314,7 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDef *def, int nsources = 0; VIR_XPATH_NODE_AUTORESTORE(ctxt) - ctxt->node = cur; + ctxt->node = cur; if ((nsources = virXPathNodeSet("./source", ctxt, &sources)) < 0) { goto error; @@ -11372,8 +11372,8 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDef *def, break; case VIR_DOMAIN_CHR_TYPE_NMDM: - def->data.nmdm.master = virXMLPropString(sources[0], "master)"); - def->data.nmdm.slave = virXMLPropString(sources[0], "slave)"); + def->data.nmdm.master = virXMLPropString(sources[0], "master"); + def->data.nmdm.slave = virXMLPropString(sources[0], "slave"); break; case VIR_DOMAIN_CHR_TYPE_LAST: -- 2.26.3

On Wed, May 05, 2021 at 04:15:44PM +0200, Michal Privoznik wrote:
While reworking the patch I've mistakenly mangled the attribute names for VIR_DOMAIN_CHR_TYPE_NMDM.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/domain_conf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index d5d8bd0a01..3319cb49cf 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -11314,7 +11314,7 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDef *def, int nsources = 0; VIR_XPATH_NODE_AUTORESTORE(ctxt)
- ctxt->node = cur; + ctxt->node = cur;
if ((nsources = virXPathNodeSet("./source", ctxt, &sources)) < 0) { goto error; @@ -11372,8 +11372,8 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDef *def, break;
case VIR_DOMAIN_CHR_TYPE_NMDM: - def->data.nmdm.master = virXMLPropString(sources[0], "master)"); - def->data.nmdm.slave = virXMLPropString(sources[0], "slave)"); + def->data.nmdm.master = virXMLPropString(sources[0], "master"); + def->data.nmdm.slave = virXMLPropString(sources[0], "slave");
Heh, fun typo. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

It was always allowed, but in a very unusual and weird way. Just look at the original commit that introduced it (78fc843c7b5). Also, we document that "io" value is accepted (which translates to VIR_DOMAIN_VIDEO_VGACONF_IO with value of zero). Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/domain_conf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 3319cb49cf..77105e6a07 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -14326,7 +14326,7 @@ virDomainVideoDriverDefParseXML(xmlNodePtr node, if (virXMLPropEnum(driver, "vgaconf", virDomainVideoVGAConfTypeFromString, - VIR_XML_PROP_NONZERO, &def->vgaconf) < 0) + VIR_XML_PROP_NONE, &def->vgaconf) < 0) return NULL; return g_steal_pointer(&def); -- 2.26.3

On Wed, May 05, 2021 at 04:15:45PM +0200, Michal Privoznik wrote:
It was always allowed, but in a very unusual and weird way. Just look at the original commit that introduced it (78fc843c7b5). Also, we document that "io" value is accepted (which translates to VIR_DOMAIN_VIDEO_VGACONF_IO with value of zero).
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/domain_conf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
participants (2)
-
Daniel P. Berrangé
-
Michal Privoznik