]> 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:34:28 +0000 (11:34 -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 30e6ef04b9ef497eff85c38c9e86ad94ca49e2c7..a5f83d1d4d4afda15169785cc7c99e3cadb30c32 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",