[asterisk-commits] russell: branch 1.6.1 r139217 - in /branches/1.6.1: ./ apps/app_chanspy.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Aug 20 17:19:33 CDT 2008
Author: russell
Date: Wed Aug 20 17:19:33 2008
New Revision: 139217
URL: http://svn.digium.com/view/asterisk?view=rev&rev=139217
Log:
Merged revisions 139215 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r139215 | russell | 2008-08-20 17:16:36 -0500 (Wed, 20 Aug 2008) | 19 lines
Merged revisions 139213 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r139213 | russell | 2008-08-20 17:14:35 -0500 (Wed, 20 Aug 2008) | 11 lines
Fix a crash in the ChanSpy application. The issue here is that if you call
ChanSpy and specify a spy group, and sit in the application long enough looping
through the channel list, you will eventually run out of stack space and the
application with exit with a seg fault. The backtrace was always inside of
a harmless snprintf() call, so it was tricky to track down. However, it turned
out that the call to snprintf() was just the biggest stack consumer in this
code path, so it would always be the first one to hit the boundary.
(closes issue #13338)
Reported by: ruddy
........
................
Modified:
branches/1.6.1/ (props changed)
branches/1.6.1/apps/app_chanspy.c
Propchange: branches/1.6.1/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.
Modified: branches/1.6.1/apps/app_chanspy.c
URL: http://svn.digium.com/view/asterisk/branches/1.6.1/apps/app_chanspy.c?view=diff&rev=139217&r1=139216&r2=139217
==============================================================================
--- branches/1.6.1/apps/app_chanspy.c (original)
+++ branches/1.6.1/apps/app_chanspy.c Wed Aug 20 17:19:33 2008
@@ -713,7 +713,7 @@
char *groups[NUM_SPYGROUPS];
char *mygroups[NUM_SPYGROUPS];
int num_groups = 0;
- char *dup_group;
+ char dup_group[512];
int num_mygroups = 0;
char *dup_mygroup;
int x;
@@ -757,7 +757,7 @@
ARRAY_LEN(mygroups));
if ((group = pbx_builtin_getvar_helper(peer, "SPYGROUP"))) {
- dup_group = ast_strdupa(group);
+ ast_copy_string(dup_group, group, sizeof(dup_group));
num_groups = ast_app_separate_args(dup_group, ':', groups,
ARRAY_LEN(groups));
}
More information about the asterisk-commits
mailing list