Commit bb9272dd7af68590452cbf91b0b8583e22f0c066

Carlos Martín Nieto 2011-06-07T17:03:07

filebuf cleanup: only unlink lockfile if we've opened it Add a check for the file descriptor in git_filebuf_cleanup. Without it, an existing lockfile would be deleted if we tried to acquire it (but failed, as the lockfile already existed). Signed-off-by: Carlos Martín Nieto <cmn@elego.de>

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/filebuf.c b/src/filebuf.c
index d0579b1..ca13e61 100644
--- a/src/filebuf.c
+++ b/src/filebuf.c
@@ -75,7 +75,7 @@ void git_filebuf_cleanup(git_filebuf *file)
 	if (file->fd >= 0)
 		gitfo_close(file->fd);
 
-	if (file->path_lock && gitfo_exists(file->path_lock) == GIT_SUCCESS)
+	if (file->fd >= 0 && file->path_lock && gitfo_exists(file->path_lock) == GIT_SUCCESS)
 		gitfo_unlink(file->path_lock);
 
 	if (file->digest)