diff options
Diffstat (limited to 'fetch.c')
-rw-r--r-- | fetch.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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; } |