mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-07 08:20:14 +00:00
Plug a few leaks
This commit is contained in:
parent
9ce97782b4
commit
fe21d708b0
@ -277,7 +277,7 @@ static int normalize_find_opts(
|
||||
if (!given ||
|
||||
(given->flags & GIT_DIFF_FIND_ALL) == GIT_DIFF_FIND_BY_CONFIG)
|
||||
{
|
||||
const char *rule =
|
||||
char *rule =
|
||||
git_config__get_string_force(cfg, "diff.renames", "true");
|
||||
int boolval;
|
||||
|
||||
@ -287,6 +287,8 @@ static int normalize_find_opts(
|
||||
opts->flags |= GIT_DIFF_FIND_RENAMES | GIT_DIFF_FIND_COPIES;
|
||||
else
|
||||
opts->flags |= GIT_DIFF_FIND_RENAMES;
|
||||
|
||||
git__free(rule);
|
||||
}
|
||||
|
||||
/* some flags imply others */
|
||||
|
@ -466,11 +466,11 @@ static int rebase_normalize_opts(
|
||||
opts->rewrite_notes_ref = git__strdup(given_opts->rewrite_notes_ref);
|
||||
GITERR_CHECK_ALLOC(opts->rewrite_notes_ref);
|
||||
} else if (git_config__get_bool_force(config, "notes.rewrite.rebase", 1)) {
|
||||
const char *rewrite_ref = git_config__get_string_force(
|
||||
char *rewrite_ref = git_config__get_string_force(
|
||||
config, "notes.rewriteref", NOTES_DEFAULT_REF);
|
||||
|
||||
if (rewrite_ref) {
|
||||
opts->rewrite_notes_ref = git__strdup(rewrite_ref);
|
||||
opts->rewrite_notes_ref = rewrite_ref;
|
||||
GITERR_CHECK_ALLOC(opts->rewrite_notes_ref);
|
||||
}
|
||||
}
|
||||
|
10
src/refs.c
10
src/refs.c
@ -1075,7 +1075,7 @@ int git_reference__update_terminal(
|
||||
const git_signature *sig,
|
||||
const char *log_message)
|
||||
{
|
||||
git_reference *ref = NULL;
|
||||
git_reference *ref = NULL, *ref2 = NULL;
|
||||
git_signature *who = NULL;
|
||||
const git_signature *to_use;
|
||||
int error = 0;
|
||||
@ -1090,18 +1090,20 @@ int git_reference__update_terminal(
|
||||
if (error == GIT_ENOTFOUND && ref) {
|
||||
assert(git_reference_type(ref) == GIT_REF_SYMBOLIC);
|
||||
giterr_clear();
|
||||
error = reference__create(&ref, repo, ref->target.symbolic, oid, NULL, 0, to_use,
|
||||
error = reference__create(&ref2, repo, ref->target.symbolic, oid, NULL, 0, to_use,
|
||||
log_message, NULL, NULL);
|
||||
} else if (error == GIT_ENOTFOUND) {
|
||||
giterr_clear();
|
||||
error = reference__create(&ref, repo, ref_name, oid, NULL, 0, to_use,
|
||||
error = reference__create(&ref2, repo, ref_name, oid, NULL, 0, to_use,
|
||||
log_message, NULL, NULL);
|
||||
} else if (error == 0) {
|
||||
assert(git_reference_type(ref) == GIT_REF_OID);
|
||||
error = reference__create(&ref, repo, ref->name, oid, NULL, 1, to_use,
|
||||
error = reference__create(&ref2, repo, ref->name, oid, NULL, 1, to_use,
|
||||
log_message, &ref->target.oid, NULL);
|
||||
}
|
||||
|
||||
git_reference_free(ref2);
|
||||
git_reference_free(ref);
|
||||
git_signature_free(who);
|
||||
return error;
|
||||
}
|
||||
|
@ -1948,6 +1948,7 @@ int git_repository_set_head(
|
||||
}
|
||||
|
||||
cleanup:
|
||||
git_buf_free(&log_message);
|
||||
git_reference_free(current);
|
||||
git_reference_free(ref);
|
||||
git_reference_free(new_head);
|
||||
@ -1980,6 +1981,7 @@ int git_repository_set_head_detached(
|
||||
error = git_reference_create(&new_head, repo, GIT_HEAD_FILE, git_object_id(peeled), true, git_buf_cstr(&log_message));
|
||||
|
||||
cleanup:
|
||||
git_buf_free(&log_message);
|
||||
git_object_free(object);
|
||||
git_object_free(peeled);
|
||||
git_reference_free(current);
|
||||
@ -2012,6 +2014,7 @@ int git_repository_detach_head(git_repository* repo)
|
||||
1, git_buf_cstr(&log_message));
|
||||
|
||||
cleanup:
|
||||
git_buf_free(&log_message);
|
||||
git_object_free(object);
|
||||
git_reference_free(old_head);
|
||||
git_reference_free(new_head);
|
||||
|
@ -128,5 +128,6 @@ void test_config_include__depth2(void)
|
||||
cl_git_pass(git_config_get_string_buf(&buf, cfg, "foo.bar2"));
|
||||
cl_assert_equal_s("baz2", git_buf_cstr(&buf));
|
||||
|
||||
git_buf_free(&buf);
|
||||
git_config_free(cfg);
|
||||
}
|
||||
|
@ -221,4 +221,6 @@ void test_reset_hard__reflog_is_correct(void)
|
||||
cl_git_pass(git_reset(repo, target, GIT_RESET_HARD, NULL));
|
||||
reflog_check(repo, "HEAD", 4, NULL, git_buf_cstr(&buf));
|
||||
reflog_check(repo, "refs/heads/master", 4, NULL, git_buf_cstr(&buf));
|
||||
|
||||
git_buf_free(&buf);
|
||||
}
|
||||
|
@ -72,4 +72,6 @@ void test_reset_mixed__reflog_is_correct(void)
|
||||
cl_git_pass(git_reset(repo, target, GIT_RESET_MIXED, NULL));
|
||||
reflog_check(repo, "HEAD", 10, NULL, git_buf_cstr(&buf));
|
||||
reflog_check(repo, "refs/heads/master", 10, NULL, git_buf_cstr(&buf));
|
||||
|
||||
git_buf_free(&buf);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user