It is simpler to derive the path to the file that must be deleted from "lock->ref_name" than from the lock_file object. Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> --- refs/files-backend.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/refs/files-backend.c b/refs/files-backend.c index 39d6f5b..4d55364 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -2430,10 +2430,7 @@ static int delete_ref_loose(struct ref_lock *lock, int flag, struct strbuf *err) * loose. The loose file name is the same as the * lockfile name, minus ".lock": */ - char *loose_filename = get_locked_file_path(lock->lk); - int res = unlink_or_msg(loose_filename, err); - free(loose_filename); - if (res) + if (unlink_or_msg(git_path("%s", lock->ref_name), err)) return 1; } return 0; -- 2.9.3