summaryrefslogtreecommitdiff
path: root/revision.c
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2019-09-05 19:55:55 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-09-05 21:10:18 (GMT)
commitdad3f0607bf1c864f80723ab20b39527260f2c4f (patch)
tree6244ac7c9264fa111df3523c8c384bb395abd98c /revision.c
parent745f6812895b31c02b29bdfe4ae8e5498f776c26 (diff)
downloadgit-dad3f0607bf1c864f80723ab20b39527260f2c4f.zip
git-dad3f0607bf1c864f80723ab20b39527260f2c4f.tar.gz
git-dad3f0607bf1c864f80723ab20b39527260f2c4f.tar.bz2
tag: factor out get_tagged_oid()
Add a function for accessing the ID of the object referenced by a tag safely, i.e. without causing a segfault when encountering a broken tag where ->tagged is NULL. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'revision.c')
-rw-r--r--revision.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/revision.c b/revision.c
index 0741229..ee1b155 100644
--- a/revision.c
+++ b/revision.c
@@ -404,9 +404,7 @@ static struct commit *handle_commit(struct rev_info *revs,
struct tag *tag = (struct tag *) object;
if (revs->tag_objects && !(flags & UNINTERESTING))
add_pending_object(revs, object, tag->tag);
- if (!tag->tagged)
- die("bad tag");
- object = parse_object(revs->repo, &tag->tagged->oid);
+ object = parse_object(revs->repo, get_tagged_oid(tag));
if (!object) {
if (revs->ignore_missing_links || (flags & UNINTERESTING))
return NULL;