On Fri, May 31, 2024 at 07:35:45AM -0400, Jeff King wrote: > We allocate a heap buffer via get_sparse_checkout_filename(). Most calls > remember to free it, but sparse_checkout_init() forgets to, causing a > leak. Ironically, it remembers to do so in the error return paths, but > not in the path that makes it all the way to the function end! > > Fixing this clears up 6 leaks from t1091. > > Signed-off-by: Jeff King <peff@xxxxxxxx> > --- > builtin/sparse-checkout.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/builtin/sparse-checkout.c b/builtin/sparse-checkout.c > index 356b7349f9..3af9fec1fb 100644 > --- a/builtin/sparse-checkout.c > +++ b/builtin/sparse-checkout.c > @@ -500,6 +500,8 @@ static int sparse_checkout_init(int argc, const char **argv, const char *prefix) > return 0; > } > > + free(sparse_filename); > + I wonder whether it would make sense to merge this patch and patch 4 and then refactor the code to have a common exit path. Patrick
Attachment:
signature.asc
Description: PGP signature