On Tue, May 8, 2018 at 1:04 PM, Jonathan Tan <jonathantanmy@xxxxxxxxxx> wrote: > On Tue, 8 May 2018 12:37:36 -0700 > Stefan Beller <sbeller@xxxxxxxxxx> wrote: > >> +void clear_alloc_state(struct alloc_state *s) >> +{ >> + while (s->slab_nr > 0) { >> + s->slab_nr--; >> + free(s->slabs[s->slab_nr]); >> + } > > I should have caught this earlier, but you need to free s->slabs itself > too. ok. > >> +void release_tree_node(struct tree *t); >> +void release_commit_node(struct commit *c); >> +void release_tag_node(struct tag *t); > > Do these really need to be defined in alloc.c? I would think that it > would be sufficient to define them as static in object.c. > > Having said that, opinions differ (e.g. Duy said he thinks that release_ > goes with alloc_ [1]) so I'm OK either way. I would have preferred static as well, but went with Duys suggestion of having it in alloc.c. I can change that. Thanks, Stefan