Commit 57121a2377b695c4377e734f81f52abda97fc5b7

Patrick Steinhardt 2017-05-19T08:34:32

repository: clear out-parameter instead of freeing it The `path` out-parameter of `find_repo` is being sanitized initially such that we do not try to append to existing content. The sanitization is done via `git_buf_free`, though, which forces us to needlessly reallocate the buffer later in the function. Fix this by using `git_buf_clear` instead.

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/repository.c b/src/repository.c
index f8d19eb..49509fc 100644
--- a/src/repository.c
+++ b/src/repository.c
@@ -440,7 +440,7 @@ static int find_repo(
 	bool in_dot_git;
 	size_t ceiling_offset = 0;
 
-	git_buf_free(repo_path);
+	git_buf_clear(repo_path);
 
 	error = git_path_prettify(&path, start_path, NULL);
 	if (error < 0)