summaryrefslogtreecommitdiff
path: root/fetch.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-05-31 15:23:44 -0700
committerJunio C Hamano <junkio@cox.net>2006-05-31 15:23:44 -0700
commit99bd0f555823f3c3868561af33d85864a90a7d9a (patch)
treea2632e172abeacc909ef87ff583097ce19c21d77 /fetch.c
parentd7fb7a373a8ea4a8ecf6421be92226bab74f474e (diff)
downloadgit-99bd0f555823f3c3868561af33d85864a90a7d9a.tar.gz
fetch.c: do not pass uninitialized lock to unlock_ref().
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'fetch.c')
-rw-r--r--fetch.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/fetch.c b/fetch.c
index ae92d5212e..cc6013e7af 100644
--- a/fetch.c
+++ b/fetch.c
@@ -203,7 +203,7 @@ static int mark_complete(const char *path, const unsigned char *sha1)
int pull(char *target)
{
- struct ref_lock *lock;
+ struct ref_lock *lock = NULL;
unsigned char sha1[20];
char *msg;
int ret;
@@ -223,15 +223,18 @@ int pull(char *target)
if (interpret_target(target, sha1)) {
error("Could not interpret %s as something to pull", target);
- unlock_ref(lock);
+ if (lock)
+ unlock_ref(lock);
return -1;
}
if (process(lookup_unknown_object(sha1))) {
- unlock_ref(lock);
+ if (lock)
+ unlock_ref(lock);
return -1;
}
if (loop()) {
- unlock_ref(lock);
+ if (lock)
+ unlock_ref(lock);
return -1;
}