summaryrefslogtreecommitdiff
path: root/send-pack.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-11-02 23:19:13 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-11-03 00:50:58 (GMT)
commit9534f40bc42dd826cc26c8c8c84f6a8a5fc569f6 (patch)
tree85db17a196526144838f60d848c9582c4e113d59 /send-pack.c
parent2fd955cc0b49de9e64b2f073ce76033975f0be24 (diff)
downloadgit-9534f40bc42dd826cc26c8c8c84f6a8a5fc569f6.zip
git-9534f40bc42dd826cc26c8c8c84f6a8a5fc569f6.tar.gz
git-9534f40bc42dd826cc26c8c8c84f6a8a5fc569f6.tar.bz2
Be careful when dereferencing tags.
One caller of deref_tag() was not careful enough to make sure what deref_tag() returned was not NULL (i.e. we found a tag object that points at an object we do not have). Fix it, and warn about refs that point at such an incomplete tag where needed. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'send-pack.c')
-rw-r--r--send-pack.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/send-pack.c b/send-pack.c
index 9f9a6e7..3eeb18f 100644
--- a/send-pack.c
+++ b/send-pack.c
@@ -126,12 +126,12 @@ static int ref_newer(const unsigned char *new_sha1,
/* Both new and old must be commit-ish and new is descendant of
* old. Otherwise we require --force.
*/
- o = deref_tag(parse_object(old_sha1));
+ o = deref_tag(parse_object(old_sha1), NULL, 0);
if (!o || o->type != commit_type)
return 0;
old = (struct commit *) o;
- o = deref_tag(parse_object(new_sha1));
+ o = deref_tag(parse_object(new_sha1), NULL, 0);
if (!o || o->type != commit_type)
return 0;
new = (struct commit *) o;