From 7a57ae5478604df9a255a3067000336bc6bfd692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Sat, 25 Aug 2012 23:31:29 +0200 Subject: [PATCH] indexer: don't segfault when freeing an unused indexer Make sure that idx->pack isn't NULL before trying to free resources under it. --- src/indexer.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/indexer.c b/src/indexer.c index 30c6469a1..719f54e24 100644 --- a/src/indexer.c +++ b/src/indexer.c @@ -587,9 +587,11 @@ void git_indexer_stream_free(git_indexer_stream *idx) git_vector_foreach(&idx->objects, i, e) git__free(e); git_vector_free(&idx->objects); - git_vector_foreach(&idx->pack->cache, i, pe) - git__free(pe); - git_vector_free(&idx->pack->cache); + if (idx->pack) { + git_vector_foreach(&idx->pack->cache, i, pe) + git__free(pe); + git_vector_free(&idx->pack->cache); + } git_vector_foreach(&idx->deltas, i, delta) git__free(delta); git_vector_free(&idx->deltas);