]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh-completer: add a cleanup label everywhere
authorJán Tomko <jtomko@redhat.com>
Thu, 28 Mar 2019 17:26:44 +0000 (18:26 +0100)
committerJán Tomko <jtomko@redhat.com>
Wed, 3 Apr 2019 08:09:54 +0000 (10:09 +0200)
Unify the cleanup paths for error and success.
Now that 'ret' is only set (from tmp) on the success path,
it is safe to jump right before 'return ret' after processing
the error block.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
tools/virsh-completer.c

index bb2ea88c4bacb811e9e4d0f8101e0a2a499029ea..8d710a93d6a2031c145b9d0c5c2d3756a0ab3bfe 100644 (file)
@@ -111,6 +111,7 @@ virshDomainNameCompleter(vshControl *ctl,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
@@ -120,7 +121,7 @@ virshDomainNameCompleter(vshControl *ctl,
     for (i = 0; i < ndomains; i++)
         VIR_FREE(tmp[i]);
     VIR_FREE(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -263,6 +264,7 @@ virshStoragePoolNameCompleter(vshControl *ctl,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
@@ -272,7 +274,7 @@ virshStoragePoolNameCompleter(vshControl *ctl,
     for (i = 0; i < npools; i++)
         VIR_FREE(tmp[i]);
     VIR_FREE(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -319,6 +321,7 @@ virshStorageVolNameCompleter(vshControl *ctl,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
@@ -329,7 +332,7 @@ virshStorageVolNameCompleter(vshControl *ctl,
         VIR_FREE(tmp[i]);
     VIR_FREE(tmp);
     virStoragePoolFree(pool);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -370,6 +373,7 @@ virshInterfaceNameCompleter(vshControl *ctl,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
@@ -379,7 +383,7 @@ virshInterfaceNameCompleter(vshControl *ctl,
     for (i = 0; i < nifaces; i++)
         VIR_FREE(tmp[i]);
     VIR_FREE(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -421,6 +425,7 @@ virshNetworkNameCompleter(vshControl *ctl,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
@@ -430,7 +435,7 @@ virshNetworkNameCompleter(vshControl *ctl,
     for (i = 0; i < nnets; i++)
         VIR_FREE(tmp[i]);
     VIR_FREE(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -455,11 +460,12 @@ virshNetworkEventNameCompleter(vshControl *ctl ATTRIBUTE_UNUSED,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
     virStringListFree(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -498,6 +504,7 @@ virshNodeDeviceNameCompleter(vshControl *ctl,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
@@ -507,7 +514,7 @@ virshNodeDeviceNameCompleter(vshControl *ctl,
     for (i = 0; i < ndevs; i++)
         VIR_FREE(tmp[i]);
     VIR_FREE(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -546,6 +553,7 @@ virshNWFilterNameCompleter(vshControl *ctl,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
@@ -555,7 +563,7 @@ virshNWFilterNameCompleter(vshControl *ctl,
     for (i = 0; i < nnwfilters; i++)
         VIR_FREE(tmp[i]);
     VIR_FREE(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -594,6 +602,7 @@ virshNWFilterBindingNameCompleter(vshControl *ctl,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
@@ -603,7 +612,7 @@ virshNWFilterBindingNameCompleter(vshControl *ctl,
     for (i = 0; i < nbindings; i++)
         VIR_FREE(tmp[i]);
     VIR_FREE(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -643,6 +652,7 @@ virshSecretUUIDCompleter(vshControl *ctl,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
@@ -652,7 +662,7 @@ virshSecretUUIDCompleter(vshControl *ctl,
     for (i = 0; i < nsecrets; i++)
         VIR_FREE(tmp[i]);
     VIR_FREE(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -698,6 +708,7 @@ virshSnapshotNameCompleter(vshControl *ctl,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
@@ -708,7 +719,7 @@ virshSnapshotNameCompleter(vshControl *ctl,
         VIR_FREE(tmp[i]);
     VIR_FREE(tmp);
     virshDomainFree(dom);
-    return NULL;
+    goto cleanup;
 }
 
 char **
@@ -820,11 +831,12 @@ virshSecretEventNameCompleter(vshControl *ctl ATTRIBUTE_UNUSED,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
     virStringListFree(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -849,11 +861,12 @@ virshDomainEventNameCompleter(vshControl *ctl ATTRIBUTE_UNUSED,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
     virStringListFree(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -878,11 +891,12 @@ virshPoolEventNameCompleter(vshControl *ctl ATTRIBUTE_UNUSED,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
     virStringListFree(tmp);
-    return NULL;
+    goto cleanup;
 }
 
 
@@ -982,11 +996,12 @@ virshNodedevEventNameCompleter(vshControl *ctl ATTRIBUTE_UNUSED,
 
     VIR_STEAL_PTR(ret, tmp);
 
+ cleanup:
     return ret;
 
  error:
     virStringListFree(tmp);
-    return NULL;
+    goto cleanup;
 }