Skip to content
Snippets Groups Projects
Commit d40f86db authored by Joshua Colp's avatar Joshua Colp
Browse files

Merged revisions 185196 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r185196 | file | 2009-03-31 11:06:39 -0300 (Tue, 31 Mar 2009) | 8 lines
  
  Fix crash when moving audiohooks between channels.
  
  Handle the scenario where we are called to move audiohooks between channels
  and the source channel does not actually have any on it.
  
  (closes issue #14734)
  Reported by: corruptor
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 9fd753a3
No related branches found
No related tags found
No related merge requests found
...@@ -441,12 +441,12 @@ static struct ast_audiohook *find_audiohook_by_source(struct ast_audiohook_list ...@@ -441,12 +441,12 @@ static struct ast_audiohook *find_audiohook_by_source(struct ast_audiohook_list
void ast_audiohook_move_by_source(struct ast_channel *old_chan, struct ast_channel *new_chan, const char *source) void ast_audiohook_move_by_source(struct ast_channel *old_chan, struct ast_channel *new_chan, const char *source)
{ {
struct ast_audiohook *audiohook = find_audiohook_by_source(old_chan->audiohooks, source); struct ast_audiohook *audiohook;
if (!audiohook) { if (!old_chan->audiohooks || !(audiohook = find_audiohook_by_source(old_chan->audiohooks, source))) {
return; return;
} }
/* By locking both channels and the audiohook, we can assure that /* By locking both channels and the audiohook, we can assure that
* another thread will not have a chance to read the audiohook's status * another thread will not have a chance to read the audiohook's status
* as done, even though ast_audiohook_remove signals the trigger * as done, even though ast_audiohook_remove signals the trigger
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment