From: Stefan Sperling Subject: Re: got: don't leak pathlist in commit and revert commands To: Mark Jamsek Cc: Game of Trees Date: Sun, 22 Jan 2023 14:10:43 +0100 On Sun, Jan 22, 2023 at 11:47:04PM +1100, Mark Jamsek wrote: > As per the subject, spotted these pathlist leaks while studying the code > for stsp's recent cherrypick/reverse-merge ref metadata idea. > > In both instances, 'paths' is initialised and passed to > get_worktree_paths_from_argv() where each added entry's path pointer is > heap allocated, so pass the GOT_PATHLIST_FREE_PATH flag to make sure > they're also freed. Yes, clearly a leak. ok > ----------------------------------------------- > commit e823287df3b73d3a120cc64dd084eaabaed3dc31 (main) > from: Mark Jamsek > date: Sun Jan 22 12:29:35 2023 UTC > > got: don't leak pathlist in commit and revert commands > > diff 85fa2e37e235526deaa3e716c685069d9915cf89 e823287df3b73d3a120cc64dd084eaabaed3dc31 > commit - 85fa2e37e235526deaa3e716c685069d9915cf89 > commit + e823287df3b73d3a120cc64dd084eaabaed3dc31 > blob - f1564fe9067f8708e5f87d50539aa46985cdc197 > blob + cdcbeb71f9090dc6023894262edf4802c8cb907c > --- got/got.c > +++ got/got.c > @@ -8522,6 +8522,7 @@ done: > if (error == NULL) > error = pack_err; > } > + got_pathlist_free(&paths, GOT_PATHLIST_FREE_PATH); > free(path); > free(cwd); > return error; > @@ -8873,6 +8874,7 @@ done: > if (error == NULL) > error = pack_err; > } > + got_pathlist_free(&paths, GOT_PATHLIST_FREE_PATH); > free(cwd); > free(id_str); > free(gitconfig_path); > > -- > Mark Jamsek > GPG: F2FF 13DE 6A06 C471 CA80 E6E2 2930 DC66 86EE CF68