Download raw body.
Memoy Leak Patch
I will look at the first hunk again when I have time to see if there is a better solution. Oks for the last two hunks to get in before release? On Sunday, April 13th, 2025 at 10:16 AM, Stefan Sperling <stsp@stsp.name> wrote: > > > On Sat, Apr 12, 2025 at 09:17:16PM +0000, Kyle Ackerman wrote: > > > I found a couple of memory leaks to plug. I am currently working to > > add more tests to our memleak regression > > > > diff /home/kyle/src/got > > path + /home/kyle/src/got > > commit - 288f62bc8681fd4d88d574527fe45052a7d641b7 > > blob - 5af728df10a622bad125d0bc41ba804acfc9ccca > > file + lib/gitconfig.c > > --- lib/gitconfig.c > > +++ lib/gitconfig.c > > @@ -296,8 +296,11 @@ conf_parse(struct got_gitconfig *conf, int trans, char > > *cp = '\0'; > > err = conf_parse_line(§ion, conf, trans, > > line, ln, cp - line); > > - if (err) > > + if (err) { > > + free(section); > > > This first chunk doesn't make sense to me because conf_parse_line() > only returns an error if the allocation of the section failed. Or am > I missing something? > > Does your memleak report remain clean if you remove this chunk? > > > return err; > > + } > > + > > line = cp + 1; > > } > > ln++; > > > The remaining changes below plug obvious leaks, and are ok by me. > > > @@ -306,6 +309,7 @@ conf_parse(struct got_gitconfig *conf, int trans, char > > } > > if (cp != line) > > log_print("conf_parse: last line unterminated, ignored."); > > + free(section); > > return NULL; > > } > > > > commit - 288f62bc8681fd4d88d574527fe45052a7d641b7 > > blob - 9bf6a20d6f6b7c2a585e7b921bd83e852fd59641 > > file + libexec/got-fetch-pack/got-fetch-pack.c > > --- libexec/got-fetch-pack/got-fetch-pack.c > > +++ libexec/got-fetch-pack/got-fetch-pack.c > > @@ -849,6 +849,7 @@ done: > > free(default_id_str); > > free(refname); > > free(server_capabilities); > > + free(my_capabilities); > > return err; > > } > > > > commit - 288f62bc8681fd4d88d574527fe45052a7d641b7 > > blob - 6fe7fc5ded32f612d6c9339abf7b9ae01aa06400 > > file + libexec/got-send-pack/got-send-pack.c > > --- libexec/got-send-pack/got-send-pack.c > > +++ libexec/got-send-pack/got-send-pack.c > > @@ -606,6 +606,7 @@ done: > > free(id); > > free(refname); > > free(server_capabilities); > > + free(my_capabilities); > > return err; > > } > > > > Thoughts/Comments/Suggestions?
Memoy Leak Patch