Preparation for later conversion to g_auto* memory handling.
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
ssize_t got;
if (!log)
- return ret;
+ goto cleanup;
for (i = 1; i < argc; i++) {
fprintf(log, "ARG:%s\n", argv[i]);
}
if (!(newenv = malloc(sizeof(*newenv) * n)))
- abort();
+ goto cleanup;
for (i = 0; i < n; i++) {
newenv[i] = environ[i];
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;
}