commit ce97161807f15dfd5e47a3a7bd6d84e0e542c56e from: Omar Polo via: Thomas Adam date: Wed Aug 31 08:42:37 2022 UTC fix NULL deref in the object cache debug code; ok stsp@ it's not in code compiled by default as it's under GOT_OBJ_CACHE_DEBUG. 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) {