Commit Diff


commit - 6e596ed0f31b4b5a6944bb7a6d3fa433caa69314
commit + ce97161807f15dfd5e47a3a7bd6d84e0e542c56e
blob - b42ee27e74fde47ef3bc23fbbadddb8a37804c72
blob + da3b4fe102aa08dd63edc5a747cdbeebf44a6339
--- lib/object_cache.c
+++ lib/object_cache.c
@@ -296,7 +296,7 @@ print_cache_stats(struct got_object_cache *cache, cons
 	fprintf(stderr, "%s: %s cache: %d elements, %d searches, %d hits, "
 	    "%d missed, %d evicted, %d too large, max cached %zd bytes\n",
 	    getprogname(), name,
-	    got_object_idset_num_elements(cache->idset),
+	    cache->idset ? got_object_idset_num_elements(cache->idset) : -1,
 	    cache->cache_searches, cache->cache_hit,
 	    cache->cache_miss, cache->cache_evict, cache->cache_toolarge,
 	    cache->max_cached_size);
@@ -381,7 +381,8 @@ got_object_cache_close(struct got_object_cache *cache)
 		break;
 	}
 
-	got_object_idset_for_each(cache->idset, check_refcount, cache);
+	if (cache->idset)
+		got_object_idset_for_each(cache->idset, check_refcount, cache);
 #endif
 
 	if (cache->idset) {