[PATCH 5/7] vmx: Rework virVMXConfigScanResultsCollector slightly

Michal Privoznik mprivozn at redhat.com
Wed Nov 16 09:11:43 UTC 2022


The idea here is that virVMXConfigScanResultsCollector() sets the
networks_max_index to the highest ethernet index seen. Well, the
struct member is signed int, we parse just seen index into uint
and then typecast to compare the two. This is not necessary,
because the maximum number of NICs a vSphere domain can have is
(<drumrolll/>): ten [1]. This will fit into signed int easily
anywhere.

1: https://configmax.esp.vmware.com/guest?vmwareproduct=vSphere&release=vSphere%208.0&categories=1-0

Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
 src/vmx/vmx.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
index d3e452e3ef..287a877b4a 100644
--- a/src/vmx/vmx.c
+++ b/src/vmx/vmx.c
@@ -1324,10 +1324,10 @@ virVMXConfigScanResultsCollector(const char* name,
     const char *suffix = NULL;
 
     if ((suffix = STRCASESKIP(name, "ethernet"))) {
-        unsigned int idx;
+        int idx;
         char *p;
 
-        if (virStrToLong_uip(suffix, &p, 10, &idx) < 0 ||
+        if (virStrToLong_i(suffix, &p, 10, &idx) < 0 ||
             *p != '.') {
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("failed to parse the index of the VMX key '%s'"),
@@ -1335,8 +1335,8 @@ virVMXConfigScanResultsCollector(const char* name,
             return -1;
         }
 
-        if ((int)idx > results->networks_max_index)
-            results->networks_max_index = (int)idx;
+        if (idx > results->networks_max_index)
+            results->networks_max_index = idx;
     }
 
     return 0;
-- 
2.37.4



More information about the libvir-list mailing list