Re: [PATCH] builtin/log.c: fix minor memory leak
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Aug 7, 2014, 18:04 UTC
- Message-ID
- <20140807180435.GD12427@google.com>
- In-Reply-To
- <1407431617-4156-1-git-send-email-Matthieu.Moy@imag.fr>
Matthieu Moy wrote:
> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> > --- > Valgrind confirms, one less unreachable block ;-).
This belongs in the commit message.
[...]
Show 14 quoted lines
> --- a/builtin/log.c
> +++ b/builtin/log.c
> @@ -857,20 +857,21 @@ static void add_branch_description(struct strbuf *buf, const char *branch_name)
> {
> struct strbuf desc = STRBUF_INIT;
> if (!branch_name || !*branch_name)
> return;
> read_branch_desc(&desc, branch_name);
> if (desc.len) {
> strbuf_addch(buf, '\n');
> strbuf_addbuf(buf, &desc);
> strbuf_addch(buf, '\n');
> }
> + strbuf_release(&desc);This is an old one. The leak was introduced by v1.7.9-rc1~1^2~12 (format-patch: use branch description in cover letter, 2011-09-21).
I was a little scared to see a leak in 'git log' code, since most of what log does involves looping over many commits. Luckily this one is only used in make_cover_letter to create a cover letter describing the single branch on the command line, making it is a small, one-time leak.
Less noise from static and dynamic analysis tools is still worthwhile, so for what it's worth,
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Thanks.