diff --git a/read-cache.c b/read-cache.c
index 2c03ec3069decb20f7557af4ac7dbe295f2dcf9c..35fec468b1951cc17606fca8edc47f809471f652 100644 (file)
--- a/read-cache.c
+++ b/read-cache.c
size_t mmap_size;
errno = EBUSY;
- if (istate->alloc)
+ if (istate->initialized)
return istate->cache_nr;
errno = ENOENT;
* index size
*/
istate->alloc = xmalloc(estimate_cache_size(mmap_size, istate->cache_nr));
+ istate->initialized = 1;
src_offset = sizeof(*hdr);
dst_offset = 0;
cache_tree_free(&(istate->cache_tree));
free(istate->alloc);
istate->alloc = NULL;
+ istate->initialized = 0;
/* no need to throw away allocated active_cache */
return 0;