Commit 74240afb9c3394d35dfb3fe59dc38dbff70c0368

The rugged tests are fragile 2014-09-17T15:35:50

repository: Do not double-free config

diff --git a/src/repository.c b/src/repository.c
index 39a4f02..51d39eb 100644
--- a/src/repository.c
+++ b/src/repository.c
@@ -1691,20 +1691,20 @@ int git_repository_set_bare(git_repository *repo)
 	if (repo->is_bare)
 		return 0;
 
-	if ((error = git_repository_config__weakptr(&config, repo)) < 0 ||
-		(error = git_config_set_bool(config, "core.bare", false)) < 0)
-		goto done;
+	if ((error = git_repository_config__weakptr(&config, repo)) < 0)
+		return error;
+
+	if ((error = git_config_set_bool(config, "core.bare", false)) < 0)
+		return error;
 
-	error = git_config__update_entry(config, "core.worktree", NULL, true, true);
+	if ((error = git_config__update_entry(config, "core.worktree", NULL, true, true)) < 0)
+		return error;
 
 	git__free(repo->workdir);
 	repo->workdir = NULL;
-
 	repo->is_bare = 1;
 
-done:
-	git_config_free(config);
-	return error;
+	return 0;
 }
 
 int git_repository_head_tree(git_tree **tree, git_repository *repo)