Re: [PATCHv2 2/4] abbrev_sha1_in_line: don't leak memory
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Mar 30, 2016, 17:35 UTC
- Message-ID
- <CAPig+cQ92gY=A_mtToe=gb2jPBHTJKZ7DcjYL+E6t1QFbdYuWA@mail.gmail.com>
- In-Reply-To
- <1459357518-14913-3-git-send-email-sbeller@google.com>
On Wed, Mar 30, 2016 at 1:05 PM, Stefan Beller <sbeller@google.com> wrote:
> `split` is of type `struct strbuf **`, which we have a dedicated free > function for, which takes care of freeing all related memory.
I think it's important to explain that 'split' and each split[] element were being leaked (despite the existing strbuf_release()) as justification for why this change is beneficial.
Show 19 quoted lines
> Helped-by: Eric Sunshine <sunshine@sunshineco.com> > Signed-off-by: Stefan Beller <sbeller@google.com> > --- > wt-status.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/wt-status.c b/wt-status.c > index ef74864..1ea2ebe 100644 > --- a/wt-status.c > +++ b/wt-status.c > @@ -1063,9 +1063,7 @@ static void abbrev_sha1_in_line(struct strbuf *line) > strbuf_addf(line, "%s", split[i]->buf); > } > } > - for (i = 0; split[i]; i++) > - strbuf_release(split[i]); > - > + strbuf_list_free(split); > }