summaryrefslogtreecommitdiff
path: root/tag.c
diff options
context:
space:
mode:
authorMartin Koegler <mkoegler@auto.tuwien.ac.at>2008-02-18 07:31:55 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-02-18 07:49:33 (GMT)
commit24e8a3c946d158c977b67c346c21abc609c63209 (patch)
tree7c017f52081e2f6835f7b5661d8be90c8a52d85a /tag.c
parentaffeef12fb2d10317fbcc7a866fbc3603cf16119 (diff)
downloadgit-24e8a3c946d158c977b67c346c21abc609c63209.zip
git-24e8a3c946d158c977b67c346c21abc609c63209.tar.gz
git-24e8a3c946d158c977b67c346c21abc609c63209.tar.bz2
deref_tag: handle tag->tagged = NULL
Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'tag.c')
-rw-r--r--tag.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/tag.c b/tag.c
index 38bf913..990134f 100644
--- a/tag.c
+++ b/tag.c
@@ -9,7 +9,10 @@ const char *tag_type = "tag";
struct object *deref_tag(struct object *o, const char *warn, int warnlen)
{
while (o && o->type == OBJ_TAG)
- o = parse_object(((struct tag *)o)->tagged->sha1);
+ if (((struct tag *)o)->tagged)
+ o = parse_object(((struct tag *)o)->tagged->sha1);
+ else
+ o = NULL;
if (!o && warn) {
if (!warnlen)
warnlen = strlen(warn);