Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> writes: > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> > --- > list-objects.c | 10 ++++++---- > 1 files changed, 6 insertions(+), 4 deletions(-) Please explain why this is needed? I can see that process_blob() is called from process_tree() which passes the return value from lookup_blob(entry.sha1) directly without looking at it. lookup_blob() can issue an error message and return NULL if there is a SHA-1 collision with an object that is not a blob. > diff --git a/list-objects.c b/list-objects.c > index 3dd4a96..34044d9 100644 > --- a/list-objects.c > +++ b/list-objects.c > @@ -15,12 +15,13 @@ static void process_blob(struct rev_info *revs, > const char *name, > void *cb_data) > { > - struct object *obj = &blob->object; > + struct object *obj; > > if (!revs->blob_objects) > return; > - if (!obj) > + if (!blob) > die("bad blob object"); > + obj = &blob->object; > if (obj->flags & (UNINTERESTING | SEEN)) > return; > obj->flags |= SEEN; > @@ -67,7 +68,7 @@ static void process_tree(struct rev_info *revs, > const char *name, > void *cb_data) > { > - struct object *obj = &tree->object; > + struct object *obj; > struct tree_desc desc; > struct name_entry entry; > struct name_path me; > @@ -77,8 +78,9 @@ static void process_tree(struct rev_info *revs, > > if (!revs->tree_objects) > return; > - if (!obj) > + if (!tree) > die("bad tree object"); > + obj = &tree->object; > if (obj->flags & (UNINTERESTING | SEEN)) > return; > if (parse_tree(tree) < 0) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html