From: Junio C Hamano Date: Fri, 13 Aug 2021 21:44:58 GMT Subject: Re: [PATCH v2 5/8] grep: allocate subrepos on heap Message-ID: In-Reply-To: <3f2481522404bcf66d83d02bd63b6bf682cee0ef.1628888668.git.jonathantanmy@google.com> Jonathan Tan 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 tuple, which eventually will call into REALLOC_ARRAY() on the pointer, I would think.