From: Kevin Harwell Date: Mon, 23 Sep 2019 16:01:36 +0000 (-0500) Subject: res_sorcery_memory_cache: stale item update leak X-Git-Tag: 13.29.0-rc2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e818841badcf2d8fddd6b9b5b28efec99668a3e0;p=thirdparty%2Fasterisk.git 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 --- 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",