From: Stefan Beller Date: Fri, 26 Aug 2016 19:17:34 GMT Subject: Re: [PATCH v11 0/8] submodule inline diff format Message-ID: In-Reply-To: <20160825233243.30700-1-jacob.e.keller@intel.com> On Thu, Aug 25, 2016 at 4:32 PM, Jacob Keller wrote: > @@ -487,12 +490,14 @@ static void do_submodule_path(struct strbuf *buf, const char *path, > strbuf_addstr(buf, git_dir); > } > if (!is_git_directory(buf->buf)) { > + gitmodules_config(); We determined via chat that calling gitmodules_config is not harmful w.r.t. correctness, but might require some improvements in the future for performance. (i.e. we may want to add in a later series a if (already called gitmodules_config) set flag "already called gitmodules_config"; return; into gitmodules_config) > > char *git_pathdup_submodule(const char *path, const char *fmt, ...) > { > + int err; > va_list args; > struct strbuf buf = STRBUF_INIT; > va_start(args, fmt); > - do_submodule_path(&buf, path, fmt, args); > + err = do_submodule_path(&buf, path, fmt, args); > va_end(args); > + if (err) Here we need a strbuf_release(&buf) to avoid a memory leak?