On Fri, Jan 29, 2021 at 17:16:14 +0100, Tim Wiederhake wrote:
Preparation for later conversion to g_auto* memory handling.
Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
tests/commandhelper.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/tests/commandhelper.c b/tests/commandhelper.c
index 05e3879688..2be121ce2c 100644
--- a/tests/commandhelper.c
+++ b/tests/commandhelper.c
@@ -61,7 +61,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]);
@@ -79,7 +79,7 @@ int main(int argc, char **argv) {
}
if (!(newenv = malloc(sizeof(*newenv) * n)))
- abort();
+ goto cleanup;
Any reason for not converting this malloc to g_new directly? you get rid
of abort()/cleanup entirely.
Especially since the patches at the end of the series switch to
g_auto(ptr).
If there's a strong reason against using glibs allocators, in such case
the cleanups shouldn't be added either.
for (i = 0; i < n; i++) {
newenv[i] = environ[i];
@@ -222,8 +222,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