diff options
author | nulltoken <emeric.fermas@gmail.com> | 2013-11-19 16:15:47 +0400 |
---|---|---|
committer | nulltoken <emeric.fermas@gmail.com> | 2013-11-19 16:25:37 +0400 |
commit | 3d5233455b2483fe78c82cabf89b568d079d6742 (patch) | |
tree | 8d85f0e34d9a842a7c9643d17c20009f149e8036 /src/tree-cache.c | |
parent | 82e6a42c6c387a584df1b2efb4fa3bfdb8c290a2 (diff) |
tree-cache: Don't segfault upon corruption
Diffstat (limited to 'src/tree-cache.c')
-rw-r--r-- | src/tree-cache.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/tree-cache.c b/src/tree-cache.c index a693f4f30..57cc2946f 100644 --- a/src/tree-cache.c +++ b/src/tree-cache.c @@ -178,9 +178,12 @@ void git_tree_cache_free(git_tree_cache *tree) if (tree == NULL) return; - for (i = 0; i < tree->children_count; ++i) - git_tree_cache_free(tree->children[i]); + if (tree->children != NULL) { + for (i = 0; i < tree->children_count; ++i) + git_tree_cache_free(tree->children[i]); + + git__free(tree->children); + } - git__free(tree->children); git__free(tree); } |