don't remove cached elements in got_object_idcache_add()
diff --git a/lib/object_idcache.c b/lib/object_idcache.c
index dba2c69..adef4e5 100644
--- a/lib/object_idcache.c
+++ b/lib/object_idcache.c
@@ -84,12 +84,8 @@ got_object_idcache_add(struct got_object_idcache *cache,
{
struct got_object_idcache_element *entry;
- if (cache->nelem >= cache->maxelem) {
- entry = TAILQ_LAST(&cache->entries, got_object_idcache_head);
- TAILQ_REMOVE(&cache->entries, entry, entry);
- free(entry);
- cache->nelem--;
- }
+ if (cache->nelem >= cache->maxelem)
+ return got_error(GOT_ERR_NO_SPACE);
entry = calloc(1, sizeof(*entry));
if (entry == NULL)