Browse Source

Protect peel_ref fallback case from NULL parse_object result

If the SHA-1 we are requesting the object for does not exist in
the object database we get a NULL back.  Accessing the type from
that is not likely to succeed on any system.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Shawn O. Pearce 17 years ago committed by Junio C Hamano
parent
commit
8c87dc77ae
  1. 2
      refs.c

2
refs.c

@ -506,7 +506,7 @@ int peel_ref(const char *ref, unsigned char *sha1)


/* fallback - callers should not call this for unpacked refs */ /* fallback - callers should not call this for unpacked refs */
o = parse_object(base); o = parse_object(base);
if (o->type == OBJ_TAG) { if (o && o->type == OBJ_TAG) {
o = deref_tag(o, ref, 0); o = deref_tag(o, ref, 0);
if (o) { if (o) {
hashcpy(sha1, o->sha1); hashcpy(sha1, o->sha1);

Loading…
Cancel
Save