summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2015-01-26 11:24:47 -0600
committerEdward Thomson <ethomson@edwardthomson.com>2015-01-26 11:24:47 -0600
commitff80b5e80b814af835b68e3d881d79d3a25504b0 (patch)
tree206fa03540a5c2e49360c460352cbdf6ac4e868d
parent9a09ed13c4b545adde4a768bd62c325d05621c36 (diff)
parentbb6aafe88f01d2902085fd78464ae277ebea0a67 (diff)
downloadlibgit2-ff80b5e80b814af835b68e3d881d79d3a25504b0.tar.gz
Merge pull request #2847 from jacquesg/coverity
More coverity fixes
-rw-r--r--src/diff_patch.c3
-rw-r--r--src/index.c3
-rw-r--r--src/pathspec.c3
3 files changed, 8 insertions, 1 deletions
diff --git a/src/diff_patch.c b/src/diff_patch.c
index 3129d06e1..a15107753 100644
--- a/src/diff_patch.c
+++ b/src/diff_patch.c
@@ -823,7 +823,8 @@ int git_patch__invoke_callbacks(
for (i = 0; !error && i < git_array_size(patch->hunks); ++i) {
diff_patch_hunk *h = git_array_get(patch->hunks, i);
- error = hunk_cb(patch->delta, &h->hunk, payload);
+ if (hunk_cb)
+ error = hunk_cb(patch->delta, &h->hunk, payload);
if (!line_cb)
continue;
diff --git a/src/index.c b/src/index.c
index 079b0cb65..cbace3606 100644
--- a/src/index.c
+++ b/src/index.c
@@ -292,6 +292,9 @@ static void index_entry_reuc_free(git_index_reuc_entry *reuc)
static void index_entry_free(git_index_entry *entry)
{
+ if (!entry)
+ return;
+
memset(&entry->id, 0, sizeof(entry->id));
git__free(entry);
}
diff --git a/src/pathspec.c b/src/pathspec.c
index 6aef574c8..fab6f9a76 100644
--- a/src/pathspec.c
+++ b/src/pathspec.c
@@ -318,6 +318,9 @@ static git_pathspec_match_list *pathspec_match_alloc(
m = NULL;
}
+ if (!m)
+ return NULL;
+
/* need to keep reference to pathspec and increment refcount because
* failures array stores pointers to the pattern strings of the
* pathspec that had no matches