]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
domain_driver.c: use g_auto* in virDomainDriverNodeDeviceDetachFlags()
authorDaniel Henrique Barboza <danielhb413@gmail.com>
Sat, 30 Jan 2021 17:29:34 +0000 (14:29 -0300)
committerDaniel Henrique Barboza <danielhb413@gmail.com>
Wed, 17 Feb 2021 18:56:39 +0000 (15:56 -0300)
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
src/hypervisor/domain_driver.c

index 6ee74d6dff87bc9c079d73b246afda8989ebed8d..c08b7d46c5a863e010af7c28e80b4444e201b4ae 100644 (file)
@@ -465,57 +465,50 @@ virDomainDriverNodeDeviceDetachFlags(virNodeDevicePtr dev,
                                      virHostdevManagerPtr hostdevMgr,
                                      const char *driverName)
 {
-    virPCIDevicePtr pci = NULL;
+    g_autoptr(virPCIDevice) pci = NULL;
     virPCIDeviceAddress devAddr;
-    int ret = -1;
-    virNodeDeviceDefPtr def = NULL;
+    g_autoptr(virNodeDeviceDef) def = NULL;
     g_autofree char *xml = NULL;
-    virConnectPtr nodeconn = NULL;
-    virNodeDevicePtr nodedev = NULL;
+    g_autoptr(virConnect) nodeconn = NULL;
+    g_autoptr(virNodeDevice) nodedev = NULL;
 
     if (!driverName)
         return -1;
 
     if (!(nodeconn = virGetConnectNodeDev()))
-        goto cleanup;
+        return -1;
 
     /* 'dev' is associated with virConnectPtr, so for split
      * daemons, we need to get a copy that is associated with
      * the virnodedevd daemon. */
     if (!(nodedev = virNodeDeviceLookupByName(nodeconn,
                                               virNodeDeviceGetName(dev))))
-        goto cleanup;
+        return -1;
 
     xml = virNodeDeviceGetXMLDesc(nodedev, 0);
     if (!xml)
-        goto cleanup;
+        return -1;
 
     def = virNodeDeviceDefParseString(xml, EXISTING_DEVICE, NULL);
     if (!def)
-        goto cleanup;
+        return -1;
 
     /* ACL check must happen against original 'dev',
      * not the new 'nodedev' we acquired */
     if (virNodeDeviceDetachFlagsEnsureACL(dev->conn, def) < 0)
-        goto cleanup;
+        return -1;
 
     if (virDomainDriverNodeDeviceGetPCIInfo(def, &devAddr) < 0)
-        goto cleanup;
+        return -1;
 
     pci = virPCIDeviceNew(&devAddr);
     if (!pci)
-        goto cleanup;
+        return -1;
 
     if (STREQ(driverName, "vfio"))
         virPCIDeviceSetStubDriver(pci, VIR_PCI_STUB_DRIVER_VFIO);
     else if (STREQ(driverName, "xen"))
         virPCIDeviceSetStubDriver(pci, VIR_PCI_STUB_DRIVER_XEN);
 
-    ret = virHostdevPCINodeDeviceDetach(hostdevMgr, pci);
- cleanup:
-    virPCIDeviceFree(pci);
-    virNodeDeviceDefFree(def);
-    virObjectUnref(nodedev);
-    virObjectUnref(nodeconn);
-    return ret;
+    return virHostdevPCINodeDeviceDetach(hostdevMgr, pci);
 }