[asterisk-commits] mjordan: branch 12 r421270 - /branches/12/apps/app_meetme.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sun Aug 17 18:28:30 CDT 2014


Author: mjordan
Date: Sun Aug 17 18:28:27 2014
New Revision: 421270

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=421270
Log:
apps/app_meetme: Fix crash when publishing MeetMe messages with no channel

The same function, meetme_stasis_generate_msg, handles creating and publishing
Stasis message both when there are channels in the MeetMe conference and when
there are no channels in the conference. When the performance improvement was
made to use cached snapshots, this created a situation where Asterisk would
crash: obtaining a cached snapshot is not NULL tolerant.

This patch restores the previous implementation, which used a NULL safe set
of routines to produce a blob containing the channel snapshot (if available)
and information about the MeetMe conference.

ASTERISK-24234 #close
Reported by: Shaun Ruffell
Tested by: Shaun Ruffell

Modified:
    branches/12/apps/app_meetme.c

Modified: branches/12/apps/app_meetme.c
URL: http://svnview.digium.com/svn/asterisk/branches/12/apps/app_meetme.c?view=diff&rev=421270&r1=421269&r2=421270
==============================================================================
--- branches/12/apps/app_meetme.c (original)
+++ branches/12/apps/app_meetme.c Sun Aug 17 18:28:27 2014
@@ -1379,7 +1379,13 @@
 		}
 	}
 
-	msg = ast_channel_blob_create_from_cache(ast_channel_uniqueid(chan), message_type, json_object);
+	if (chan) {
+		ast_channel_lock(chan);
+	}
+	msg = ast_channel_blob_create(chan, message_type, json_object);
+	if (chan) {
+		ast_channel_unlock(chan);
+	}
 
 	if (!msg) {
 		return;




More information about the asterisk-commits mailing list