commit 977143974aa7ea0d5df19a556344adf0880276c1 from: Stefan Sperling date: Tue Aug 30 17:21:32 2022 UTC object cache: if kicking an object out to make space, reuse its mem allocation commit - dbcc187b9759640744e16f6a7618045d5e7589a4 commit + 977143974aa7ea0d5df19a556344adf0880276c1 blob - 6ed62392ac8837da1d05604c313f32b82d0d4d7c blob + 619ee0f6d5540989746da99bde2caf8a5f176865 --- lib/object_cache.c +++ lib/object_cache.c @@ -228,13 +228,14 @@ got_object_cache_add(struct got_object_cache *cache, s got_object_raw_close(ce->data.raw); break; } - free(ce); + memset(ce, 0, sizeof(*ce)); cache->cache_evict++; + } else { + ce = malloc(sizeof(*ce)); + if (ce == NULL) + return got_error_from_errno("malloc"); } - ce = malloc(sizeof(*ce)); - if (ce == NULL) - return got_error_from_errno("malloc"); memcpy(&ce->id, id, sizeof(ce->id)); switch (cache->type) { case GOT_OBJECT_CACHE_TYPE_OBJ: