diff options
Diffstat (limited to 'main/stasis_cache.c')
-rw-r--r-- | main/stasis_cache.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/main/stasis_cache.c b/main/stasis_cache.c index 12f49963c..c1dab8539 100644 --- a/main/stasis_cache.c +++ b/main/stasis_cache.c @@ -343,10 +343,17 @@ struct stasis_message *stasis_cache_entry_get_remote(struct stasis_cache_entry * static struct stasis_cache_entry *cache_find(struct ao2_container *entries, struct stasis_message_type *type, const char *id) { struct cache_entry_key search_key; + struct stasis_cache_entry *entry; search_key.type = type; search_key.id = id; - return ao2_find(entries, &search_key, OBJ_SEARCH_KEY | OBJ_NOLOCK); + entry = ao2_find(entries, &search_key, OBJ_SEARCH_KEY | OBJ_NOLOCK); + + /* Ensure that what we looked for is what we found. */ + ast_assert(!entry + || (!strcmp(stasis_message_type_name(entry->key.type), + stasis_message_type_name(type)) && !strcmp(entry->key.id, id))); + return entry; } /*! |