Show 24 quoted lines
> Jonathan Tan <jonathantanmy@google.com> writes:
>
> > +static void free_repos(void)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < repos_to_free_nr; i++) {
> > + repo_clear(repos_to_free[i]);
> > + free(repos_to_free[i]);
> > + }
> > + free(repos_to_free);
> > + repos_to_free_nr = 0;
> > + repos_to_free_alloc = 0;
>
> The clearing of nr/alloc is new in this round.
>
> It does not matter if we won't using anything that allocates
> repositories and accumulates them in repos_to_free after we call
> free_repos() once, but then clearing the nr/alloc would not matter,
> either, so it may be more consistent to FREE_AND_NULL(repos_to_free)
> here, not just free(), to prepare for another call to ALLOC_GROW()
> on the <repos_to_free, repos_to_free_nr, repos_to_free_alloc> tuple,
> which eventually will call into REALLOC_ARRAY() on the pointer, I
> would think.