Merged revisions 185197 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
  r185197 | file | 2009-03-31 11:07:36 -0300 (Tue, 31 Mar 2009) | 15 lines
  
  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/branches/1.6.0@185198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Joshua Colp 16 years ago
parent ae65af4244
commit d1709254d4

@ -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)
{
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;
}
/* By locking both channels and the audiohook, we can assure that
* another thread will not have a chance to read the audiohook's status
* as done, even though ast_audiohook_remove signals the trigger

Loading…
Cancel
Save