diff --git a/tests/test_cel.c b/tests/test_cel.c index 1461f76e3684de8b66241c1db24d7a90843314b5..5410d730e2b708291e77b6a8dad0da5fae7295b7 100644 --- a/tests/test_cel.c +++ b/tests/test_cel.c @@ -1792,7 +1792,7 @@ static int append_expected_event( static void test_sub(struct ast_event *event) { - struct ast_event *event_dup = ao2_dup_event(event); + RAII_VAR(struct ast_event *, event_dup, ao2_dup_event(event), ao2_cleanup); const char *chan_name; SCOPED_MUTEX(mid_test_lock, &mid_test_sync_lock); @@ -1857,11 +1857,15 @@ static int test_cel_init_cb(struct ast_test_info *info, struct ast_test *test) */ static int test_cel_peer_strings_match(const char *str1, const char *str2) { - struct ao2_container *intersection = ast_str_container_alloc(11); + RAII_VAR(struct ao2_container *, intersection, ast_str_container_alloc(11), ao2_cleanup); RAII_VAR(char *, str1_dup, ast_strdup(str1), ast_free); RAII_VAR(char *, str2_dup, ast_strdup(str2), ast_free); char *chan; + if (!intersection) { + return 1; + } + while ((chan = strsep(&str1_dup, ","))) { ast_str_container_add(intersection, chan); } @@ -2142,6 +2146,10 @@ static int unload_module(void) ast_channel_unregister(&test_cel_chan_tech); + ao2_cleanup(cel_expected_events); + cel_expected_events = NULL; + ao2_cleanup(cel_received_events); + cel_received_events = NULL; ao2_cleanup(cel_test_config); cel_test_config = NULL;