From: Peter Krempa Date: Wed, 5 Oct 2022 13:08:50 +0000 (+0200) Subject: virInterfaceDefParseMtu: Use virXPathUInt instead of virXPathULong X-Git-Tag: v8.10.0-rc1~233 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b8e415b467b97953a6a71c90b324a9521a8e3249;p=thirdparty%2Flibvirt.git virInterfaceDefParseMtu: Use virXPathUInt instead of virXPathULong Use the proper convertor function and refactor error reporting. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c index b31fdce101..671b8b088f 100644 --- a/src/conf/interface_conf.c +++ b/src/conf/interface_conf.c @@ -113,17 +113,15 @@ static int virInterfaceDefParseMtu(virInterfaceDef *def, xmlXPathContextPtr ctxt) { - unsigned long mtu; - int ret; + if (virXPathUInt("string(./mtu/@size)", ctxt, &def->mtu) == -2) + return -1; - ret = virXPathULong("string(./mtu/@size)", ctxt, &mtu); - if ((ret == -2) || ((ret == 0) && (mtu > 100000))) { - virReportError(VIR_ERR_XML_ERROR, - "%s", _("interface mtu value is improper")); + if (def->mtu > 100000) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("value of the 'size' attribute of 'mtu' element must be at most 100000")); return -1; - } else if (ret == 0) { - def->mtu = (unsigned int) mtu; } + return 0; }