On Mon,  7 May 2018 15:59:16 -0700
Stefan Beller <sbel...@google.com> wrote:

> +     for (i = 0; i < o->obj_hash_size; i++) {
> +             struct object *obj = o->obj_hash[i];
> +
> +             if (!obj)
> +                     continue;
> +
> +             if (obj->type == OBJ_TREE) {
> +                     free(((struct tree*)obj)->buffer);
> +             } else if (obj->type == OBJ_COMMIT) {
> +                     free_commit_list(((struct commit*)obj)->parents);
> +                     free(&((struct commit*)obj)->util);
> +             }

Besides the other comments by Peff and Duy, should the "tag" field of a
tag object be freed too? It is allocated by xmemdupz in tag.c, and is
not assigned to by any other code (verified by renaming it and then
fixing the compile errors one by one).

Other than that, and other than my small comment on patch 1, this patch
set looks good to me.

Reply via email to