From: Derrick Stolee <stolee@gmail.com>
To: "Lénaïc Huard" <lenaic@lhuard.fr>, git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Derrick Stolee <dstolee@microsoft.com>,
Eric Sunshine <sunshine@sunshineco.com>,
lilinchao@oschina.cn
Subject: Re: [PATCH v2 1/1] maintenance: fix two memory leaks
Date: Tue, 11 May 2021 11:13:12 -0400 [thread overview]
Message-ID: <01dccb51-cb2e-ea6f-a05c-d76bb7ed725f@gmail.com> (raw)
In-Reply-To: <20210510195909.621534-2-lenaic@lhuard.fr>
On 5/10/2021 3:59 PM, Lénaïc Huard wrote:
> Fixes two memory leaks when running `git maintenance start` or `git
> maintenance stop` in `update_background_schedule`:
Thanks for finding these leaks.
> ---
> builtin/gc.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/builtin/gc.c b/builtin/gc.c
> index ef7226d7bc..484fe983d3 100644
> --- a/builtin/gc.c
> +++ b/builtin/gc.c
> @@ -1924,6 +1924,7 @@ static int crontab_update_schedule(int run_maintenance, int fd, const char *cmd)
> else if (!in_old_region)
> fprintf(cron_in, "%s\n", line.buf);
> }
> + strbuf_release(&line);
>
> if (run_maintenance) {
> struct strbuf line_format = STRBUF_INIT;
> @@ -1986,8 +1987,10 @@ static int update_background_schedule(int enable)
> cmd = sep + 1;
> }
>
> - if (hold_lock_file_for_update(&lk, lock_path, LOCK_NO_DEREF) < 0)
> - return error(_("another process is scheduling background maintenance"));
> + if (hold_lock_file_for_update(&lk, lock_path, LOCK_NO_DEREF) < 0) {
> + result = error(_("another process is scheduling background maintenance"));
> + goto cleanup;
> + }
>
> if (!strcmp(scheduler, "launchctl"))
> result = launchctl_update_schedule(enable, get_lock_file_fd(&lk), cmd);
> @@ -1999,6 +2002,9 @@ static int update_background_schedule(int enable)
> die("unknown background scheduler: %s", scheduler);
>
> rollback_lock_file(&lk);
> +
> +cleanup:
> + free(lock_path);
And I agree that this version looks good.
Thanks,
-Stolee
next prev parent reply other threads:[~2021-05-11 15:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-09 22:16 [PATCH] maintenance: fix two memory leaks Lénaïc Huard
2021-05-10 6:34 ` Junio C Hamano
2021-05-10 6:38 ` lilinchao
2021-05-10 7:11 ` Junio C Hamano
[not found] ` <0c04f7c2b15f11eb82baa4badb2c2b1178978@pobox.com>
2021-05-10 7:50 ` lilinchao
2021-05-10 19:59 ` [PATCH v2 0/1] " Lénaïc Huard
2021-05-10 19:59 ` [PATCH v2 1/1] " Lénaïc Huard
2021-05-11 15:13 ` Derrick Stolee [this message]
2021-05-11 3:29 ` [PATCH v2 0/1] " Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=01dccb51-cb2e-ea6f-a05c-d76bb7ed725f@gmail.com \
--to=stolee@gmail.com \
--cc=dstolee@microsoft.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=lenaic@lhuard.fr \
--cc=lilinchao@oschina.cn \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.