]> xenbits.xensource.com Git - libvirt.git/commitdiff
commandhelper: Consolidate error paths
authorTim Wiederhake <twiederh@redhat.com>
Mon, 1 Feb 2021 11:27:48 +0000 (12:27 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 2 Feb 2021 14:00:53 +0000 (15:00 +0100)
Preparation for later conversion to g_auto* memory handling.

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
tests/commandhelper.c

index 22835302b8acc85667cfd15ba9736781263adb7b..1ee697498cea743be71d15f61b01c5b6dfd3b4c0 100644 (file)
@@ -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;
 }