[PATCH 28/43] virInterfaceDefParseMtu: Use virXPathUInt instead of virXPathULong

Peter Krempa pkrempa at redhat.com
Mon Oct 24 14:14:33 UTC 2022


Use the proper convertor function and refactor error reporting.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/conf/interface_conf.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

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;
 }

-- 
2.37.3



More information about the libvir-list mailing list