Summary:ASTERISK-07489: [patch] fix a segfault when calling that from from an AGI
Reporter:Clod Patry (junky)Labels:
Date Opened:2007-01-24 18:17:13.000-0600Date Closed:2007-01-24 18:40:24.000-0600
Versions:Frequency of
Environment:Attachments:( 0) agi_checkgroup.diff
Description:I know, that app is deprecated, but if you do:
print "EXEC CheckGroup\n";
my $result = <STDIN>;

in an AGI.
that will segfault *.

#0  0xb7dd1c53 in strlen () from /lib/tls/i686/cmov/libc.so.6
#1  0xb74c1868 in group_check_exec (chan=0x83c4098, data=0x0) at app_groupcount.c:157
#2  0x08086861 in pbx_exec (c=0x83c4098, app=0x8192bd8, data=0x0, newstack=1) at pbx.c:553
#3  0xb7aebfc7 in handle_exec (chan=0x83c4098, agi=0xb6ae9de4, argc=2, argv=0xb6ae98e4) at res_agi.c:1113
#4  0xb7aed9c9 in agi_exec_full (chan=0x83c4098, data=<value optimized out>, enhanced=0, dead=0) at res_agi.c:1842
ASTERISK-1  0x080902df in pbx_extension_helper (c=0x83c4098, con=<value optimized out>, context=0x83c41e8 "unlimitel-inbound",
   exten=0x83c42dc "46", priority=4, label=0x0, callerid=0x8138490 "10", action=1) at pbx.c:553
ASTERISK-2  0x08092107 in __ast_pbx_run (c=0x83c4098) at pbx.c:2230
ASTERISK-3  0x08092d4c in pbx_thread (data=0x83c4098) at pbx.c:2517
ASTERISK-4  0xb7f57504 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
ASTERISK-5  0xb7e3251e in clone () from /lib/tls/i686/cmov/libc.so.6


The logic to verify that CheckGroup() receives args works when calling app directly, but not if you calling from an AGI. I put the check before for the check to be in both app and when call from an EXEC (in AGI).
Comments:By: Russell Bryant (russell) 2007-01-24 18:40:24.000-0600

This has been fixed in 1.2 in revision 52137, thanks!