[asterisk-commits] file: trunk r185197 - in /trunk: ./ main/audiohook.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Mar 31 09:07:39 CDT 2009


Author: file
Date: Tue Mar 31 09:07:36 2009
New Revision: 185197

URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=185197
Log:
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
........

Modified:
    trunk/   (props changed)
    trunk/main/audiohook.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/main/audiohook.c
URL: http://svn.digium.com/svn-view/asterisk/trunk/main/audiohook.c?view=diff&rev=185197&r1=185196&r2=185197
==============================================================================
--- trunk/main/audiohook.c (original)
+++ trunk/main/audiohook.c Tue Mar 31 09:07:36 2009
@@ -441,12 +441,12 @@
 
 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);
-
-	if (!audiohook) {
+	struct ast_audiohook *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




More information about the asterisk-commits mailing list