mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Cleanup: avoid memory leak
Coverity CID 208298 Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
424e757094
commit
50571dfab3
1 changed files with 11 additions and 5 deletions
|
|
@ -1151,22 +1151,30 @@ static int create_new_commit(git_repository *repo, const char *remote, const cha
|
||||||
/* If the parent commit has the same tree ID, do not create a new commit */
|
/* If the parent commit has the same tree ID, do not create a new commit */
|
||||||
if (parent && git_oid_equal(tree_id, git_commit_tree_id((const git_commit *) parent))) {
|
if (parent && git_oid_equal(tree_id, git_commit_tree_id((const git_commit *) parent))) {
|
||||||
/* If the parent already came from the ref, the commit is already there */
|
/* If the parent already came from the ref, the commit is already there */
|
||||||
if (ref)
|
if (ref) {
|
||||||
|
git_signature_free(author);
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
/* Else we do want to create the new branch, but with the old commit */
|
/* Else we do want to create the new branch, but with the old commit */
|
||||||
commit = (git_commit *) parent;
|
commit = (git_commit *) parent;
|
||||||
} else {
|
} else {
|
||||||
struct membuffer commit_msg = { 0 };
|
struct membuffer commit_msg = { 0 };
|
||||||
|
|
||||||
create_commit_message(&commit_msg, create_empty);
|
create_commit_message(&commit_msg, create_empty);
|
||||||
if (git_commit_create_v(&commit_id, repo, NULL, author, author, NULL, mb_cstring(&commit_msg), tree, parent != NULL, parent))
|
if (git_commit_create_v(&commit_id, repo, NULL, author, author, NULL, mb_cstring(&commit_msg), tree, parent != NULL, parent)) {
|
||||||
|
git_signature_free(author);
|
||||||
return report_error("Git commit create failed (%s)", strerror(errno));
|
return report_error("Git commit create failed (%s)", strerror(errno));
|
||||||
|
}
|
||||||
free_buffer(&commit_msg);
|
free_buffer(&commit_msg);
|
||||||
|
|
||||||
if (git_commit_lookup(&commit, repo, &commit_id))
|
if (git_commit_lookup(&commit, repo, &commit_id)) {
|
||||||
|
git_signature_free(author);
|
||||||
return report_error("Could not look up newly created commit");
|
return report_error("Could not look up newly created commit");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
git_signature_free(author);
|
||||||
|
|
||||||
if (!ref) {
|
if (!ref) {
|
||||||
if (git_branch_create(&ref, repo, branch, commit, 0))
|
if (git_branch_create(&ref, repo, branch, commit, 0))
|
||||||
return report_error("Failed to create branch '%s'", branch);
|
return report_error("Failed to create branch '%s'", branch);
|
||||||
|
|
@ -1198,8 +1206,6 @@ static int create_new_commit(git_repository *repo, const char *remote, const cha
|
||||||
if (! create_empty)
|
if (! create_empty)
|
||||||
set_git_id(&commit_id);
|
set_git_id(&commit_id);
|
||||||
|
|
||||||
git_signature_free(author);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue