On Tue, Sep 24, 2024 at 06:04:46PM -0400, Jeff King wrote: > Our repo->url string comes from str_end_url_with_slash(), which always > allocates its output buffer. We should free it before exiting to avoid > triggering the leak-checker. > > This can be seen by leak-checking t5540. > > Signed-off-by: Jeff King <peff@xxxxxxxx> > --- > http-push.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/http-push.c b/http-push.c > index f60b2ceba5..52c53928a9 100644 > --- a/http-push.c > +++ b/http-push.c > @@ -1972,6 +1972,7 @@ int cmd_main(int argc, const char **argv) > cleanup: > if (info_ref_lock) > unlock_remote(info_ref_lock); > + free(repo->url); > free(repo); > > http_cleanup(); I was wondering whether we also need to free `repo->path`, which is a `char *` as well. But that is only being assigned pointers into command line argument strings, and thus we do not have to free it. Patrick