use get_tagged_oid()
Avoid derefencing ->tagged without checking for NULL by using the convenience wrapper for getting the ID of the tagged object. It die()s when encountering a broken tag instead of segfaulting. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
dad3f0607b
commit
c77722b3ea
@ -627,6 +627,7 @@ int cmd_show(int argc, const char **argv, const char *prefix)
|
||||
break;
|
||||
case OBJ_TAG: {
|
||||
struct tag *t = (struct tag *)o;
|
||||
struct object_id *oid = get_tagged_oid(t);
|
||||
|
||||
if (rev.shown_one)
|
||||
putchar('\n');
|
||||
@ -638,10 +639,10 @@ int cmd_show(int argc, const char **argv, const char *prefix)
|
||||
rev.shown_one = 1;
|
||||
if (ret)
|
||||
break;
|
||||
o = parse_object(the_repository, &t->tagged->oid);
|
||||
o = parse_object(the_repository, oid);
|
||||
if (!o)
|
||||
ret = error(_("could not read object %s"),
|
||||
oid_to_hex(&t->tagged->oid));
|
||||
oid_to_hex(oid));
|
||||
objects[i].item = o;
|
||||
i--;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user