summaryrefslogtreecommitdiff
path: root/lockfile.c
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2014-10-01 10:28:21 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-10-01 20:45:13 (GMT)
commit8a1c7533e2ee468a505656abab364780b15004fc (patch)
tree59186c6a8bf85d653d1075842ffbfaff61ca898d /lockfile.c
parent4f4713df94e2f3d3adbd39b8fce571e2bd69185e (diff)
downloadgit-8a1c7533e2ee468a505656abab364780b15004fc.zip
git-8a1c7533e2ee468a505656abab364780b15004fc.tar.gz
git-8a1c7533e2ee468a505656abab364780b15004fc.tar.bz2
commit_lock_file(): die() if called for unlocked lockfile object
It was previously a bug to call commit_lock_file() with a lock_file object that was not active (an illegal access would happen within the function). It was presumably never done, but this would be an easy programming error to overlook. So before continuing, do a consistency check that the lock_file object really is locked. Helped-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'lockfile.c')
-rw-r--r--lockfile.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lockfile.c b/lockfile.c
index e148227..c897dd8 100644
--- a/lockfile.c
+++ b/lockfile.c
@@ -301,6 +301,9 @@ int commit_lock_file(struct lock_file *lk)
{
char result_file[PATH_MAX];
+ if (!lk->filename[0])
+ die("BUG: attempt to commit unlocked object");
+
if (close_lock_file(lk))
return -1;