Commit Diff


commit - e9d3ad59c92a3ce340f8ac1bd0b0dff75dc3d951
commit + a97a5e436f0c35f5f40df274a89fd20be2d63801
blob - 59879ce1ea33b3512e7bffed54fff8cf2635952d
blob + 5eabe168cdf8761b740fde3af077823aa688346e
--- lib/object_cache.c
+++ lib/object_cache.c
@@ -297,7 +297,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);
@@ -382,7 +382,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) {