indexer: don't segfault when freeing an unused indexer

Make sure that idx->pack isn't NULL before trying to free resources
under it.
This commit is contained in:
Carlos Martín Nieto 2012-08-25 23:31:29 +02:00
parent 8238401ccb
commit 7a57ae5478

View File

@ -587,9 +587,11 @@ void git_indexer_stream_free(git_indexer_stream *idx)
git_vector_foreach(&idx->objects, i, e) git_vector_foreach(&idx->objects, i, e)
git__free(e); git__free(e);
git_vector_free(&idx->objects); git_vector_free(&idx->objects);
git_vector_foreach(&idx->pack->cache, i, pe) if (idx->pack) {
git__free(pe); git_vector_foreach(&idx->pack->cache, i, pe)
git_vector_free(&idx->pack->cache); git__free(pe);
git_vector_free(&idx->pack->cache);
}
git_vector_foreach(&idx->deltas, i, delta) git_vector_foreach(&idx->deltas, i, delta)
git__free(delta); git__free(delta);
git_vector_free(&idx->deltas); git_vector_free(&idx->deltas);