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>
This commit is contained in:
@ -13,9 +13,10 @@ static int add_info_ref(const char *path, const unsigned char *sha1)
|
||||
|
||||
fprintf(info_ref_fp, "%s %s\n", sha1_to_hex(sha1), path);
|
||||
if (o->type == tag_type) {
|
||||
o = deref_tag(o);
|
||||
fprintf(info_ref_fp, "%s %s^{}\n",
|
||||
sha1_to_hex(o->sha1), path);
|
||||
o = deref_tag(o, path, 0);
|
||||
if (o)
|
||||
fprintf(info_ref_fp, "%s %s^{}\n",
|
||||
sha1_to_hex(o->sha1), path);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user