diff options
Diffstat (limited to 'res')
-rw-r--r-- | res/res_calendar.c | 5 | ||||
-rw-r--r-- | res/res_clialiases.c | 2 | ||||
-rw-r--r-- | res/res_musiconhold.c | 4 | ||||
-rw-r--r-- | res/res_odbc.c | 7 | ||||
-rw-r--r-- | res/res_phoneprov.c | 6 |
5 files changed, 21 insertions, 3 deletions
diff --git a/res/res_calendar.c b/res/res_calendar.c index e6f8d53f3..e916ac0f0 100644 --- a/res/res_calendar.c +++ b/res/res_calendar.c @@ -1043,12 +1043,14 @@ static int calendar_query_exec(struct ast_channel *chan, const char *cmd, char * ast_debug(10, "%s (%ld - %ld) overlapped with (%ld - %ld)\n", event->summary, (long) event->start, (long) event->end, (long) start, (long) end); if (add_event_to_list(events, event, start, end) < 0) { event = ast_calendar_unref_event(event); + ao2_iterator_destroy(&i); return -1; } } event = ast_calendar_unref_event(event); } + ao2_iterator_destroy(&i); ast_channel_lock(chan); do { @@ -1292,6 +1294,7 @@ static char *handle_show_calendars(struct ast_cli_entry *e, int cmd, struct ast_ ast_cli(a->fd, FORMAT, cal->name, cal->tech->type, calendar_is_busy(cal) ? "busy" : "free"); cal = unref_calendar(cal); } + ao2_iterator_destroy(&i); return CLI_SUCCESS; #undef FORMAT @@ -1345,6 +1348,7 @@ static char *handle_show_calendar(struct ast_cli_entry *e, int cmd, struct ast_c } cal = unref_calendar(cal); } + ao2_iterator_destroy(&i); return ret; } @@ -1384,6 +1388,7 @@ static char *handle_show_calendar(struct ast_cli_entry *e, int cmd, struct ast_c event = ast_calendar_unref_event(event); } + ao2_iterator_destroy(&i); cal = unref_calendar(cal); return CLI_SUCCESS; #undef FORMAT diff --git a/res/res_clialiases.c b/res/res_clialiases.c index 16458c250..853735ba3 100644 --- a/res/res_clialiases.c +++ b/res/res_clialiases.c @@ -154,10 +154,10 @@ static char *alias_show(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a ast_cli(a->fd, FORMAT, "Alias Command", "Real Command"); i = ao2_iterator_init(cli_aliases, 0); - for (; (alias = ao2_iterator_next(&i)); ao2_ref(alias, -1)) { ast_cli(a->fd, FORMAT, alias->alias, alias->real_cmd); } + ao2_iterator_destroy(&i); return CLI_SUCCESS; #undef FORMAT diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c index 090f927a2..b5bc77d74 100644 --- a/res/res_musiconhold.c +++ b/res/res_musiconhold.c @@ -1608,7 +1608,6 @@ static char *handle_cli_moh_show_files(struct ast_cli_entry *e, int cmd, struct return CLI_SHOWUSAGE; i = ao2_iterator_init(mohclasses, 0); - for (; (class = ao2_t_iterator_next(&i, "Show files iterator")); mohclass_unref(class, "Unref iterator in moh show files")) { int x; @@ -1621,6 +1620,7 @@ static char *handle_cli_moh_show_files(struct ast_cli_entry *e, int cmd, struct ast_cli(a->fd, "\tFile: %s\n", class->filearray[x]); } } + ao2_iterator_destroy(&i); return CLI_SUCCESS; } @@ -1645,7 +1645,6 @@ static char *handle_cli_moh_show_classes(struct ast_cli_entry *e, int cmd, struc return CLI_SHOWUSAGE; i = ao2_iterator_init(mohclasses, 0); - for (; (class = ao2_t_iterator_next(&i, "Show classes iterator")); mohclass_unref(class, "Unref iterator in moh show classes")) { ast_cli(a->fd, "Class: %s\n", class->name); ast_cli(a->fd, "\tMode: %s\n", S_OR(class->mode, "<none>")); @@ -1657,6 +1656,7 @@ static char *handle_cli_moh_show_classes(struct ast_cli_entry *e, int cmd, struc ast_cli(a->fd, "\tFormat: %s\n", ast_getformatname(class->format)); } } + ao2_iterator_destroy(&i); return CLI_SUCCESS; } diff --git a/res/res_odbc.c b/res/res_odbc.c index 2fec8884e..9498cc591 100644 --- a/res/res_odbc.c +++ b/res/res_odbc.c @@ -898,6 +898,7 @@ static char *handle_cli_odbc_show(struct ast_cli_entry *e, int cmd, struct ast_c break; } } + ao2_iterator_destroy(&aoi); if (!ret && !strncasecmp(a->word, "all", length) && ++which > a->n) { ret = ast_strdup("all"); } @@ -932,6 +933,7 @@ static char *handle_cli_odbc_show(struct ast_cli_entry *e, int cmd, struct ast_c ast_mutex_unlock(¤t->lock); ao2_ref(current, -1); } + ao2_iterator_destroy(&aoi2); } else { /* Should only ever be one of these (unless there are transactions) */ struct ao2_iterator aoi2 = ao2_iterator_init(class->obj_container, 0); @@ -940,11 +942,13 @@ static char *handle_cli_odbc_show(struct ast_cli_entry *e, int cmd, struct ast_c current->up && ast_odbc_sanity_check(current) ? "Yes" : "No"); ao2_ref(current, -1); } + ao2_iterator_destroy(&aoi2); } ast_cli(a->fd, "\n"); } ao2_ref(class, -1); } + ao2_iterator_destroy(&aoi); return CLI_SUCCESS; } @@ -1609,6 +1613,7 @@ static int reload(void) class->delme = 1; ao2_ref(class, -1); } + ao2_iterator_destroy(&aoi); load_odbc_config(); @@ -1648,6 +1653,7 @@ static int reload(void) * b) the object has already been destroyed. */ } + ao2_iterator_destroy(&aoi2); ao2_unlink(class_container, class); /* unlink C-ref from container (reference handled implicitly) */ /* At this point, either * a) there's an outstanding O-ref, which holds an outstanding C-ref, or @@ -1657,6 +1663,7 @@ static int reload(void) } ao2_ref(class, -1); /* C-ref-- (by iterator) */ } + ao2_iterator_destroy(&aoi); /* Empty the cache; it will get rebuilt the next time the tables are needed. */ AST_RWLIST_WRLOCK(&odbc_tables); diff --git a/res/res_phoneprov.c b/res/res_phoneprov.c index a8ebe67a0..49fdbf870 100644 --- a/res/res_phoneprov.c +++ b/res/res_phoneprov.c @@ -830,6 +830,7 @@ static void delete_users(void) ao2_unlink(users, user); user = unref_user(user); } + ao2_iterator_destroy(&i); } /*! \brief Build and return a user structure based on gathered config data */ @@ -1076,6 +1077,7 @@ static void delete_routes(void) ao2_unlink(http_routes, route); route = unref_route(route); } + ao2_iterator_destroy(&i); } /*! \brief Delete all phone profiles, freeing their memory */ @@ -1089,6 +1091,7 @@ static void delete_profiles(void) ao2_unlink(profiles, profile); profile = unref_profile(profile); } + ao2_iterator_destroy(&i); } /*! \brief A dialplan function that can be used to print a string for each phoneprov user */ @@ -1126,6 +1129,7 @@ static int pp_each_user_helper(struct ast_channel *chan, char *data, char *buf, } user = unref_user(user); } + ao2_iterator_destroy(&i); ast_free(str); return 0; @@ -1253,6 +1257,7 @@ static char *handle_show_routes(struct ast_cli_entry *e, int cmd, struct ast_cli ast_cli(a->fd, FORMAT, route->uri, route->file->template); route = unref_route(route); } + ao2_iterator_destroy(&i); ast_cli(a->fd, "\nDynamic routes\n\n"); ast_cli(a->fd, FORMAT, "Relative URI", "Template"); @@ -1263,6 +1268,7 @@ static char *handle_show_routes(struct ast_cli_entry *e, int cmd, struct ast_cli ast_cli(a->fd, FORMAT, route->uri, route->file->template); route = unref_route(route); } + ao2_iterator_destroy(&i); return CLI_SUCCESS; } |