[PATCH 1/2] sequencer: fix leaked todo_list memory
From: Christian Couder <hidden>
Date: 2016-06-15 22:53:44
Subsystem:
the rest · Maintainer:
Linus Torvalds
Signed-off-by: Christian Couder <redacted> --- Hi, This is a very small series to fix a few memory leaks. It will not fix the main leaks but it's a start. Regards, Christian. sequencer.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/sequencer.c b/sequencer.c
index f83cdfd..aa4c1a4 100644
--- a/sequencer.c
+++ b/sequencer.c@@ -892,6 +892,7 @@ static int continue_single_pick(void) static int sequencer_continue(struct replay_opts *opts) { struct commit_list *todo_list = NULL; + int res; if (!file_exists(git_path(SEQ_TODO_FILE))) return continue_single_pick();
@@ -907,8 +908,11 @@ static int sequencer_continue(struct replay_opts *opts) } if (index_differs_from("HEAD", 0)) return error_dirty_index(opts); - todo_list = todo_list->next; - return pick_commits(todo_list, opts); + res = pick_commits(todo_list->next, opts); + + free_commit_list(todo_list); + + return res; } static int single_pick(struct commit *cmit, struct replay_opts *opts)
@@ -921,6 +925,7 @@ int sequencer_pick_revisions(struct replay_opts *opts) { struct commit_list *todo_list = NULL; unsigned char sha1[20]; + int res; if (opts->subcommand == REPLAY_NONE) assert(opts->revs);
@@ -977,5 +982,9 @@ int sequencer_pick_revisions(struct replay_opts *opts) } save_head(sha1_to_hex(sha1)); save_opts(opts); - return pick_commits(todo_list, opts); + res = pick_commits(todo_list, opts); + + free_commit_list(todo_list); + + return res; }
--
1.7.10.579.g68891.dirty