[libvirt PATCH v2 04/20] commandhelper: Consolidate error paths

Tim Wiederhake twiederh at redhat.com
Mon Feb 1 11:27:48 UTC 2021


Preparation for later conversion to g_auto* memory handling.

Signed-off-by: Tim Wiederhake <twiederh at redhat.com>
Reviewed-by: Peter Krempa <pkrempa at redhat.com>
---
 tests/commandhelper.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/tests/commandhelper.c b/tests/commandhelper.c
index 22835302b8..1ee697498c 100644
--- a/tests/commandhelper.c
+++ b/tests/commandhelper.c
@@ -71,7 +71,7 @@ int main(int argc, char **argv) {
     ssize_t got;
 
     if (!log)
-        return ret;
+        goto cleanup;
 
     for (i = 1; i < argc; i++) {
         fprintf(log, "ARG:%s\n", argv[i]);
@@ -89,7 +89,7 @@ int main(int argc, char **argv) {
     }
 
     if (!(newenv = malloc(sizeof(*newenv) * n)))
-        abort();
+        goto cleanup;
 
     for (i = 0; i < n; i++) {
         newenv[i] = environ[i];
@@ -232,8 +232,10 @@ int main(int argc, char **argv) {
  cleanup:
     for (i = 0; i < G_N_ELEMENTS(buffers); i++)
         free(buffers[i]);
-    fclose(log);
-    free(newenv);
+    if (newenv)
+        free(newenv);
+    if (log)
+        fclose(log);
     return ret;
 }
 
-- 
2.26.2




More information about the libvir-list mailing list