--- old/channel.c 2005-12-15 01:54:54.411229968 +0200 +++ new/channel.c 2005-12-15 01:54:39.743459808 +0200 @@ -3050,7 +3050,6 @@ if (ast_test_flag(clone, AST_FLAG_ZOMBIE)) { ast_log(LOG_DEBUG, "Destroying channel clone '%s'\n", clone->name); ast_mutex_unlock(&clone->lock); - ast_channel_free(clone); manager_event(EVENT_FLAG_CALL, "Hangup", "Channel: %s\r\n" "Uniqueid: %s\r\n" @@ -3061,6 +3060,7 @@ clone->hangupcause, ast_cause2str(clone->hangupcause) ); + ast_channel_free(clone); } else { struct ast_frame null_frame = { AST_FRAME_NULL, }; ast_log(LOG_DEBUG, "Released clone lock on '%s'\n", clone->name);