[PATCH v3 05/25] git_config_rename_section_in_file(): avoid resource leak
From: Johannes Schindelin <hidden>
Date: 2017-05-02 16:01:46
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Johannes Schindelin <hidden>
Date: 2017-05-02 16:01:46
Subsystem:
the rest · Maintainer:
Linus Torvalds
In case of errors, we really want the file descriptor to be closed. Discovered by a Coverity scan. Signed-off-by: Johannes Schindelin <redacted> --- config.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/config.c b/config.c
index b4a3205da32..a30056ec7e9 100644
--- a/config.c
+++ b/config.c@@ -2621,7 +2621,7 @@ int git_config_rename_section_in_file(const char *config_filename, struct lock_file *lock; int out_fd; char buf[1024]; - FILE *config_file; + FILE *config_file = NULL; struct stat st; if (new_name && !section_name_is_ok(new_name)) {
@@ -2703,11 +2703,14 @@ int git_config_rename_section_in_file(const char *config_filename, } } fclose(config_file); + config_file = NULL; commit_and_out: if (commit_lock_file(lock) < 0) ret = error_errno("could not write config file %s", config_filename); out: + if (config_file) + fclose(config_file); rollback_lock_file(lock); out_no_rollback: free(filename_buf);
--
2.12.2.windows.2.800.gede8f145e06