diff options
-rw-r--r-- | src/shared/fileio.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/shared/fileio.c b/src/shared/fileio.c index 4e6ff16045..0eca4416f8 100644 --- a/src/shared/fileio.c +++ b/src/shared/fileio.c @@ -187,7 +187,8 @@ int parse_env_file( assert(fname); assert(separator); - if ((r = read_full_file(fname, &contents, NULL)) < 0) + r = read_full_file(fname, &contents, NULL); + if (r < 0) return r; p = contents; @@ -343,8 +344,9 @@ int load_env_file(const char *fname, char ***rl) { } int write_env_file(const char *fname, char **l) { - char **i, *p; - FILE *f; + char **i; + char _cleanup_free_ *p = NULL; + FILE _cleanup_fclose_ *f = NULL; int r; r = fopen_temporary(fname, &f, &p); @@ -376,8 +378,5 @@ int write_env_file(const char *fname, char **l) { if (r < 0) unlink(p); - fclose(f); - free(p); - return r; } |