Merge branch 'js/plug-leaks'
Fix memory leaks pointed out by Coverity (and people). * js/plug-leaks: (26 commits) checkout: fix memory leak submodule_uses_worktrees(): plug memory leak show_worktree(): plug memory leak name-rev: avoid leaking memory in the `deref` case remote: plug memory leak in match_explicit() add_reflog_for_walk: avoid memory leak shallow: avoid memory leak line-log: avoid memory leak receive-pack: plug memory leak in update() fast-export: avoid leaking memory in handle_tag() mktree: plug memory leaks reported by Coverity pack-redundant: plug memory leak setup_discovered_git_dir(): plug memory leak setup_bare_git_dir(): help static analysis split_commit_in_progress(): simplify & fix memory leak checkout: fix memory leak cat-file: fix memory leak mailinfo & mailsplit: check for EOF while parsing status: close file descriptor after reading git-rebase-todo difftool: address a couple of resource/memory leaks ...
This commit is contained in:
@ -28,6 +28,7 @@ static void name_rev(struct commit *commit,
|
||||
struct rev_name *name = (struct rev_name *)commit->util;
|
||||
struct commit_list *parents;
|
||||
int parent_number = 1;
|
||||
char *to_free = NULL;
|
||||
|
||||
parse_commit(commit);
|
||||
|
||||
@ -35,7 +36,7 @@ static void name_rev(struct commit *commit,
|
||||
return;
|
||||
|
||||
if (deref) {
|
||||
tip_name = xstrfmt("%s^0", tip_name);
|
||||
tip_name = to_free = xstrfmt("%s^0", tip_name);
|
||||
|
||||
if (generation)
|
||||
die("generation: %d, but deref?", generation);
|
||||
@ -53,8 +54,10 @@ copy_data:
|
||||
name->taggerdate = taggerdate;
|
||||
name->generation = generation;
|
||||
name->distance = distance;
|
||||
} else
|
||||
} else {
|
||||
free(to_free);
|
||||
return;
|
||||
}
|
||||
|
||||
for (parents = commit->parents;
|
||||
parents;
|
||||
|
Reference in New Issue
Block a user