[libvirt PATCHv2] conf: node_device: use separate variables for parsing integers

Ján Tomko posted 1 patch 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/a2aff7bc8577f5396920eab231d35622a2c1eb75.1685515791.git.jtomko@redhat.com
There is a newer version of this series
src/conf/node_device_conf.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
[libvirt PATCHv2] conf: node_device: use separate variables for parsing integers
Posted by Ján Tomko 11 months ago
In virNodeDeviceGetSCSIHostCaps, there is a pattern of reusing
a tmp value and stealing the pointer.

But in two case it is not stolen. Use separate variables for them
to avoid mixing autofree with manual free() calls.

Fixes: 8a0cb5f73ade3900546718eabe70cb064c6bd22c
Signed-off-by: Ján Tomko <jtomko@redhat.com>
---
v2: also replace the variable name in the error message and fix one more case

 src/conf/node_device_conf.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index fcee9c027c..48a47f0f86 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -2858,28 +2858,30 @@ virNodeDeviceGetSCSIHostCaps(virNodeDevCapSCSIHost *scsi_host)
 
     if (virVHBAIsVportCapable(NULL, scsi_host->host)) {
         scsi_host->flags |= VIR_NODE_DEV_CAP_FLAG_HBA_VPORT_OPS;
+        g_autofree char *max_vports = NULL;
+        g_autofree char *vports = NULL;
 
-        if (!(tmp = virVHBAGetConfig(NULL, scsi_host->host,
+        if (!(max_vports = virVHBAGetConfig(NULL, scsi_host->host,
                                      "max_npiv_vports"))) {
             VIR_WARN("Failed to read max_npiv_vports for host%d",
                      scsi_host->host);
             goto cleanup;
         }
 
-        if (virStrToLong_i(tmp, NULL, 10, &scsi_host->max_vports) < 0) {
-            VIR_WARN("Failed to parse value of max_npiv_vports '%s'", tmp);
+        if (virStrToLong_i(max_vports, NULL, 10, &scsi_host->max_vports) < 0) {
+            VIR_WARN("Failed to parse value of max_npiv_vports '%s'", max_vports);
             goto cleanup;
         }
 
-        if (!(tmp = virVHBAGetConfig(NULL, scsi_host->host,
+        if (!(vports = virVHBAGetConfig(NULL, scsi_host->host,
                                       "npiv_vports_inuse"))) {
             VIR_WARN("Failed to read npiv_vports_inuse for host%d",
                      scsi_host->host);
             goto cleanup;
         }
 
-        if (virStrToLong_i(tmp, NULL, 10, &scsi_host->vports) < 0) {
-            VIR_WARN("Failed to parse value of npiv_vports_inuse '%s'", tmp);
+        if (virStrToLong_i(vports, NULL, 10, &scsi_host->vports) < 0) {
+            VIR_WARN("Failed to parse value of npiv_vports_inuse '%s'", vports);
             goto cleanup;
         }
     }
-- 
2.40.1