]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virPCIDeviceNew: Prefer VIR_RETURN_PTR
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 30 Jul 2019 09:31:53 +0000 (11:31 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 5 Aug 2019 17:42:15 +0000 (19:42 +0200)
This function declares @ret variable and then uses
VIR_STEAL_PTR() to avoid freeing temporary variable @dev which is
constructed. Well, as of 267f1e6da53 we have VIR_RETURN_PTR()
macro so that we can avoid this pattern.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/util/virpci.c

index 6dc0a2711c2d04f49913c35efde5369a652990da..1a3d316399d33980c0d24b29478f86af9aeb6cd7 100644 (file)
@@ -1749,7 +1749,6 @@ virPCIDeviceNew(unsigned int domain,
                 unsigned int slot,
                 unsigned int function)
 {
-    virPCIDevicePtr ret = NULL;
     VIR_AUTOPTR(virPCIDevice) dev = NULL;
     VIR_AUTOFREE(char *) vendor = NULL;
     VIR_AUTOFREE(char *) product = NULL;
@@ -1767,17 +1766,17 @@ virPCIDeviceNew(unsigned int domain,
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("dev->name buffer overflow: %.4x:%.2x:%.2x.%.1x"),
                        domain, bus, slot, function);
-        goto cleanup;
+        return NULL;
     }
     if (virAsprintf(&dev->path, PCI_SYSFS "devices/%s/config",
                     dev->name) < 0)
-        goto cleanup;
+        return NULL;
 
     if (!virFileExists(dev->path)) {
         virReportSystemError(errno,
                              _("Device %s not found: could not access %s"),
                              dev->name, dev->path);
-        goto cleanup;
+        return NULL;
     }
 
     vendor  = virPCIDeviceReadID(dev, "vendor");
@@ -1787,7 +1786,7 @@ virPCIDeviceNew(unsigned int domain,
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to read product/vendor ID for %s"),
                        dev->name);
-        goto cleanup;
+        return NULL;
     }
 
     /* strings contain '0x' prefix */
@@ -1796,15 +1795,12 @@ virPCIDeviceNew(unsigned int domain,
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("dev->id buffer overflow: %s %s"),
                        &vendor[2], &product[2]);
-        goto cleanup;
+        return NULL;
     }
 
     VIR_DEBUG("%s %s: initialized", dev->id, dev->name);
 
-    VIR_STEAL_PTR(ret, dev);
-
- cleanup:
-    return ret;
+    VIR_RETURN_PTR(dev);
 }