From: Ján Tomko Date: Thu, 28 Mar 2019 17:26:44 +0000 (+0100) Subject: virsh-completer: add a cleanup label everywhere X-Git-Tag: v5.3.0-rc1~357 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3b16c3a10be255b1dbaa4d98d8a2a05bf1aed4f0;p=thirdparty%2Flibvirt.git virsh-completer: add a cleanup label everywhere 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 --- diff --git a/tools/virsh-completer.c b/tools/virsh-completer.c index bb2ea88c4b..8d710a93d6 100644 --- a/tools/virsh-completer.c +++ b/tools/virsh-completer.c @@ -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; }