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

Modified Files:
        app_queue.c 
Log Message:
Fix segfault in app queue when no cdr exists for the calling channel (bug #5462)


Index: app_queue.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_queue.c,v
retrieving revision 1.169
retrieving revision 1.170
diff -u -d -r1.169 -r1.170
--- app_queue.c 17 Oct 2005 22:26:33 -0000      1.169
+++ app_queue.c 18 Oct 2005 20:58:16 -0000      1.170
@@ -2188,8 +2188,14 @@
                                which = peer;
                        if (monitorfilename)
                                ast_monitor_start(which, qe->parent->monfmt, 
monitorfilename, 1 );
-                       else
+                       else if (qe->chan->cdr) 
                                ast_monitor_start(which, qe->parent->monfmt, 
qe->chan->cdr->uniqueid, 1 );
+                       else {
+                               /* Last ditch effort -- no CDR, make up 
something */
+                               char tmpid[256];
+                               snprintf(tmpid, sizeof(tmpid), "chan-%x", 
rand());
+                               ast_monitor_start(which, qe->parent->monfmt, 
tmpid, 1 );
+                       }
                        if (qe->parent->monjoin)
                                ast_monitor_setjoinfiles(which, 1);
                }

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to