]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_sorcery_memory_cache: stale item update leak
authorKevin Harwell <kharwell@digium.com>
Mon, 23 Sep 2019 16:01:36 +0000 (11:01 -0500)
committerKevin Harwell <kharwell@digium.com>
Mon, 23 Sep 2019 16:29:48 +0000 (11:29 -0500)
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

index 42da7273d3e52e8d7f0ac9a01091e58009633785..5029131ca5d240c74872b2c6d6559f42e89b92d1 100644 (file)
@@ -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",