summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Pettersson <boretrk@hotmail.com>2021-08-25 20:08:58 +0200
committerPeter Pettersson <boretrk@hotmail.com>2021-08-25 20:08:58 +0200
commit7f1dd7030664fa15caeb6e20578bcb9543026ba7 (patch)
treee70acad84aef95142b13fd5b3d17b1cd511f0110
parentbcc0d750298d18ccc18e5b57317d1d7833498018 (diff)
downloadlibgit2-7f1dd7030664fa15caeb6e20578bcb9543026ba7.tar.gz
array: fix dereference from void * type
-rw-r--r--src/diff_driver.c6
-rw-r--r--src/tree.c3
2 files changed, 5 insertions, 4 deletions
diff --git a/src/diff_driver.c b/src/diff_driver.c
index e9f63cb17..8e9131feb 100644
--- a/src/diff_driver.c
+++ b/src/diff_driver.c
@@ -389,13 +389,13 @@ int git_diff_driver_lookup(
void git_diff_driver_free(git_diff_driver *driver)
{
- size_t i;
+ git_diff_driver_pattern *pat;
if (!driver)
return;
- for (i = 0; i < git_array_size(driver->fn_patterns); ++i)
- git_regexp_dispose(& git_array_get(driver->fn_patterns, i)->re);
+ while ((pat = git_array_pop(driver->fn_patterns)) != NULL)
+ git_regexp_dispose(&pat->re);
git_array_clear(driver->fn_patterns);
git_regexp_dispose(&driver->word_pattern);
diff --git a/src/tree.c b/src/tree.c
index 76821e3a0..b1df79eac 100644
--- a/src/tree.c
+++ b/src/tree.c
@@ -1251,8 +1251,9 @@ int git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseli
}
case GIT_TREE_UPDATE_REMOVE:
{
+ tree_stack_entry *last = git_array_last(stack);
char *basename = git_path_basename(update->path);
- error = git_treebuilder_remove(git_array_last(stack)->bld, basename);
+ error = git_treebuilder_remove(last->bld, basename);
git__free(basename);
break;
}