diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/cdr.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/main/cdr.c b/main/cdr.c index 3f7b9aee2..610c2ab31 100644 --- a/main/cdr.c +++ b/main/cdr.c @@ -148,13 +148,16 @@ void ast_cdr_unregister(const char *name) AST_RWLIST_TRAVERSE_SAFE_BEGIN(&be_list, i, list) { if (!strcasecmp(name, i->name)) { AST_RWLIST_REMOVE_CURRENT(list); - ast_verb(2, "Unregistered '%s' CDR backend\n", name); - ast_free(i); break; } } AST_RWLIST_TRAVERSE_SAFE_END; AST_RWLIST_UNLOCK(&be_list); + + if (i) { + ast_verb(2, "Unregistered '%s' CDR backend\n", name); + ast_free(i); + } } int ast_cdr_isset_unanswered(void) |