Hi Junio, On Wed, 26 Apr 2017, Junio C Hamano wrote: > Johannes Schindelin <johannes.schindelin@xxxxxx> writes: > > > Reported via Coverity. > > > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > > --- > > http-backend.c | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/http-backend.c b/http-backend.c > > index eef0a361f4f..d12572fda10 100644 > > --- a/http-backend.c > > +++ b/http-backend.c > > @@ -681,8 +681,10 @@ int cmd_main(int argc, const char **argv) > > if (!regexec(&re, dir, 1, out, 0)) { > > size_t n; > > > > - if (strcmp(method, c->method)) > > + if (strcmp(method, c->method)) { > > + free(dir); > > return bad_request(&hdr, c); > > + } > > > > cmd = c; > > n = out[0].rm_eo - out[0].rm_so; > > @@ -708,5 +710,7 @@ int cmd_main(int argc, const char **argv) > > max_request_buffer); > > > > cmd->imp(&hdr, cmd_arg); > > + free(dir); > > + free(cmd_arg); > > return 0; > > } > > Hmph. I find a "leak" of a resource acquired inside the main > function and not released when the main function leaves a lot less > interesting than the other ones this series covers. Ah, I missed that this falls squarely into the "one-shot programs are allowed to be sloppy in their memory management, essentially using exit() as garbage collector" category. Will drop, Dscho