summaryrefslogtreecommitdiff
path: root/src/pathspec.c
diff options
context:
space:
mode:
authorBoris Egorov <egorov@linux.com>2015-01-25 00:07:23 +0600
committerBoris Egorov <egorov@linux.com>2015-01-25 01:40:44 +0600
commitdc5fe00c6562e46c88a5c5b975121c202eae1180 (patch)
tree844c9fd5525b60f61afaa1e3b4b1c1f33e4afeaf /src/pathspec.c
parent73c5db7663b16f8aee2176ae8a5a4ed5127d5c35 (diff)
downloadlibgit2-dc5fe00c6562e46c88a5c5b975121c202eae1180.tar.gz
pathspec: do not try to dereference NULL
pathspec_match_free() should not dereference a NULL passed to it. I found this issue when I tried to run example log program with nonexistent branch: ./example/log help Such call leads to segmentation fault.
Diffstat (limited to 'src/pathspec.c')
-rw-r--r--src/pathspec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/pathspec.c b/src/pathspec.c
index 8b469f717..6aef574c8 100644
--- a/src/pathspec.c
+++ b/src/pathspec.c
@@ -296,6 +296,9 @@ int git_pathspec_matches_path(
static void pathspec_match_free(git_pathspec_match_list *m)
{
+ if (!m)
+ return;
+
git_pathspec_free(m->pathspec);
m->pathspec = NULL;