From: Tim Wiederhake Date: Tue, 18 May 2021 15:04:50 +0000 (+0200) Subject: virDomainAudioOSSParse: Use virXMLProp* X-Git-Tag: v7.4.0-rc1~100 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd4c756fd5eece6b1d7723a407ead0ed1bf8a298;p=thirdparty%2Flibvirt.git virDomainAudioOSSParse: Use virXMLProp* This strictens the parser to disallow negative values (interpreted as `UINT_MAX + value + 1`) for attribute `bufferCount`. Allowing negative numbers to be interpreted this way makes no sense for this attribute. Signed-off-by: Tim Wiederhake Reviewed-by: Laine Stump --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index a46e64c64a..b3ed3a9c5a 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -13074,26 +13074,15 @@ static int virDomainAudioOSSParse(virDomainAudioIOOSS *def, xmlNodePtr node) { - g_autofree char *tryPoll = virXMLPropString(node, "tryPoll"); - g_autofree char *bufferCount = virXMLPropString(node, "bufferCount"); - def->dev = virXMLPropString(node, "dev"); - if (tryPoll && - ((def->tryPoll = - virTristateBoolTypeFromString(tryPoll)) <= 0)) { - virReportError(VIR_ERR_XML_ERROR, - _("unknown 'tryPoll' value '%s'"), tryPoll); + if (virXMLPropTristateBool(node, "tryPoll", VIR_XML_PROP_NONE, + &def->tryPoll) < 0) return -1; - } - if (bufferCount && - virStrToLong_ui(bufferCount, NULL, 10, - &def->bufferCount) < 0) { - virReportError(VIR_ERR_XML_ERROR, - _("cannot parse 'bufferCount' value '%s'"), bufferCount); + if (virXMLPropUInt(node, "bufferCount", 10, VIR_XML_PROP_NONE, + &def->bufferCount) < 0) return -1; - } return 0; }