Hi Brandon, On Tue, 7 Mar 2017, Brandon Williams wrote: > On 03/07, Johannes Schindelin wrote: > > const char *setup_git_directory_gently(int *nongit_ok) > > { > > + struct strbuf cwd = STRBUF_INIT, dir = STRBUF_INIT, gitdir = STRBUF_INIT; > > I couldn't see any strbuf_release() calls for these strbufs so there may > be some memory leaking here. You are correct, of course. Something like this may work: -- snipsnap -- diff --git a/setup.c b/setup.c index 9118b48590a..c822582b96e 100644 --- a/setup.c +++ b/setup.c @@ -1027,6 +1027,8 @@ const char *setup_git_directory_gently(int *nongit_ok) case GIT_DIR_HIT_MOUNT_POINT: if (nongit_ok) { *nongit_ok = 1; + strbuf_release(&cwd); + strbuf_release(&dir); return NULL; } die(_("Not a git repository (or any parent up to mount point %s)\n" @@ -1044,6 +1046,10 @@ const char *setup_git_directory_gently(int *nongit_ok) startup_info->have_repository = !nongit_ok || !*nongit_ok; startup_info->prefix = prefix; + strbuf_release(&cwd); + strbuf_release(&dir); + strbuf_release(&gitdir); + return prefix; }