Config file open: don't free memory that doesn't belong to us On error, it would free the configuration object even though it didn't own that memory, which would cause a double-free. This fixes the first part of Issue #210 Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
diff --git a/src/config_file.c b/src/config_file.c
index ace7cc8..216c074 100644
--- a/src/config_file.c
+++ b/src/config_file.c
@@ -261,7 +261,6 @@ static int config_open(git_config_file *cfg)
cleanup:
cvar_list_free(&b->var_list);
gitfo_free_buf(&b->reader.buffer);
- free(cfg);
return git__rethrow(error, "Failed to open config");
}