Give zombies a safe channel driver to use.

Recent crashes from zombie channels suggests that they need a safe home to
goto.  When a masquerade happens, the physical part of the zombie channel
is hungup.  The hangup normally sets the channel private pointer to NULL.
If someone then blindly does a callback to the channel driver, a crash is
likely because the private pointer is NULL.

The masquerade now sets the channel technology of zombie channels to the
kill channel driver.

Related to the following issues:
(issue #19116)
(issue #19310)

Review: https://reviewboard.asterisk.org/r/1224/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Richard Mudgett
2011-05-25 16:23:11 +00:00
parent 5427820aaf
commit aa64eb1077
3 changed files with 64 additions and 48 deletions
+3
View File
@@ -629,6 +629,9 @@ struct ast_channel_tech {
int (* cc_callback)(struct ast_channel *inbound, const char *dest, ast_cc_callback_fn callback);
};
/*! Kill the channel channel driver technology descriptor. */
extern const struct ast_channel_tech ast_kill_tech;
struct ast_epoll_data;
/*!