From fb29778ae40862ec4a8fdf9056b23a160c353927 Mon Sep 17 00:00:00 2001 From: Kevin Harwell Date: Mon, 23 Sep 2019 11:01:36 -0500 Subject: [PATCH] res_sorcery_memory_cache: stale item update leak When a stale item was being updated the object was being retrieved, but its reference was not being decremented after the update. This patch makes it so the object is now appropriately de-referenced. ASTERISK-28523 Change-Id: I9d8173d3a0416a242f4eba92fa0853279c500ec7 --- res/res_sorcery_memory_cache.c | 1 + 1 file changed, 1 insertion(+) diff --git a/res/res_sorcery_memory_cache.c b/res/res_sorcery_memory_cache.c index 42da7273d3..5029131ca5 100644 --- a/res/res_sorcery_memory_cache.c +++ b/res/res_sorcery_memory_cache.c @@ -1006,6 +1006,7 @@ static int stale_item_update(const void *data) ast_sorcery_object_get_id(task_data->object)); sorcery_memory_cache_create(task_data->sorcery, task_data->cache, object); + ao2_ref(object, -1); } ast_test_suite_event_notify("SORCERY_MEMORY_CACHE_REFRESHED", "Cache: %s\r\nType: %s\r\nName: %s\r\n",