Merge "main/pbx: Don't attempt to destroy a previously destroyed exten/priority tuple"

This commit is contained in:
Matt Jordan 2015-04-20 06:30:03 -05:00 committed by Gerrit Code Review
commit b94d70f42b
1 changed files with 10 additions and 0 deletions

View File

@ -10735,6 +10735,16 @@ void __ast_context_destroy(struct ast_context *list, struct ast_hashtab *context
exten_iter = ast_hashtab_start_traversal(tmp->root_table);
while ((exten_item=ast_hashtab_next(exten_iter))) {
int end_traversal = 1;
/*
* If the extension could not be removed from the root_table due to
* a loaded PBX app, it can exist here but have its peer_table be
* destroyed due to a previous pass through this function.
*/
if (!exten_item->peer_table) {
continue;
}
prio_iter = ast_hashtab_start_traversal(exten_item->peer_table);
while ((prio_item=ast_hashtab_next(prio_iter))) {
char extension[AST_MAX_EXTENSION];