[Asterisk-cvs] asterisk/apps app_meetme.c,1.92,1.93

kpfleming at lists.digium.com kpfleming at lists.digium.com
Sat Apr 2 17:33:24 CST 2005


Update of /usr/cvsroot/asterisk/apps
In directory mongoose.digium.com:/tmp/cvs-serv9831/apps

Modified Files:
	app_meetme.c 
Log Message:
Resolve app_meetme crash when member tries to mute/unmute (bug #3899)


Index: app_meetme.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_meetme.c,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -d -r1.92 -r1.93
--- app_meetme.c	29 Mar 2005 06:34:50 -0000	1.92
+++ app_meetme.c	2 Apr 2005 23:26:27 -0000	1.93
@@ -572,7 +572,7 @@
 	struct ast_conf_user *user = malloc(sizeof(struct ast_conf_user));
 	struct ast_conf_user *usr = NULL;
 	int fd;
-	struct zt_confinfo ztc;
+	struct zt_confinfo ztc, ztc_empty;
 	struct ast_frame *f;
 	struct ast_channel *c;
 	struct ast_frame fr;
@@ -790,6 +790,7 @@
 		nfds = 0;
 	}
 	memset(&ztc, 0, sizeof(ztc));
+	memset(&ztc_empty, 0, sizeof(ztc_empty));
 	/* Check to see if we're in a conference... */
 	ztc.chan = 0;	
 	if (ioctl(fd, ZT_GETCONF, &ztc)) {
@@ -1078,10 +1079,7 @@
 					ret = 0;
 					break;
 				} else if (((f->frametype == AST_FRAME_DTMF) && (f->subclass == '*') && (confflags & CONFFLAG_STARMENU)) || ((f->frametype == AST_FRAME_DTMF) && menu_active)) {
-					int oldconfmode = 0;
-					oldconfmode = ztc.confmode;
-					ztc.confmode = 0;
-					if (ioctl(fd, ZT_SETCONF, &ztc)) {
+					if (ioctl(fd, ZT_SETCONF, &ztc_empty)) {
 						ast_log(LOG_WARNING, "Error setting conference\n");
 						close(fd);
 						ast_mutex_unlock(&conflock);
@@ -1202,7 +1200,7 @@
 					if (musiconhold) {
 			   			ast_moh_start(chan, NULL);
 					}
-					ztc.confmode = oldconfmode;
+
 					if (ioctl(fd, ZT_SETCONF, &ztc)) {
 						ast_log(LOG_WARNING, "Error setting conference\n");
 						close(fd);




More information about the svn-commits mailing list