X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=list-objects.c;h=c8b8375e4983794e601ba69a1c217a3c711835e9;hb=923d44aeb7cb6d21eeb459fdc1b58137e37c2b1c;hp=e5c88c278fe23eefbf4cb4dd0c66251b208e48bd;hpb=f16eb1f6a3f9a1a09a61f0cd07e9c9ff9ee54530;p=git.git diff --git a/list-objects.c b/list-objects.c index e5c88c278..c8b8375e4 100644 --- a/list-objects.c +++ b/list-objects.c @@ -18,6 +18,8 @@ static void process_blob(struct rev_info *revs, if (!revs->blob_objects) return; + if (!obj) + die("bad blob object"); if (obj->flags & (UNINTERESTING | SEEN)) return; obj->flags |= SEEN; @@ -69,6 +71,8 @@ static void process_tree(struct rev_info *revs, if (!revs->tree_objects) return; + if (!obj) + die("bad tree object"); if (obj->flags & (UNINTERESTING | SEEN)) return; if (parse_tree(tree) < 0) @@ -170,4 +174,11 @@ void traverse_commit_list(struct rev_info *revs, } for (i = 0; i < objects.nr; i++) show_object(&objects.objects[i]); + free(objects.objects); + if (revs->pending.nr) { + free(revs->pending.objects); + revs->pending.nr = 0; + revs->pending.alloc = 0; + revs->pending.objects = NULL; + } }