Stop leaking memory
diff --git a/src/repository.c b/src/repository.c
index b0359a5..28505e8 100644
--- a/src/repository.c
+++ b/src/repository.c
@@ -1827,10 +1827,15 @@ int git_repository_is_shallow(git_repository *repo)
{
git_buf path = GIT_BUF_INIT;
struct stat st;
+ int error;
git_buf_joinpath(&path, repo->path_repository, "shallow");
+ error = git_path_lstat(path.ptr, &st);
+ git_buf_free(&path);
- if (git_path_lstat(path.ptr, &st) == GIT_ENOTFOUND)
+ if (error == GIT_ENOTFOUND)
return 0;
+ if (error < 0)
+ return -1;
return st.st_size == 0 ? 0 : 1;
}