[Home]

Summary:ASTERISK-07180: Asterisk crash in parse_dial_string 9 times out of 10
Reporter:Cyril VELTER (velter)Labels:
Date Opened:2006-06-15 14:14:13Date Closed:2006-06-16 11:09:24
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:when a iax2 peer register, asterisk crash in parse_dial_string :


(gdb) bt full
#0  0x0028b497 in strchr () from /lib/tls/libc.so.6
No symbol table info available.
#1  0x006d18d8 in parse_dial_string (data=0x2 <Address 0x2 out of bounds>, pds=0xb7564960) at /usr/include/bits/string2.h:1140
No locals.
#2  0x006cd614 in iax2_devicestate (data=0xc) at chan_iax2.c:9453
       pds = {username = 0x2 <Address 0x2 out of bounds>, password = 0xb75eb4a0 "&ASTERISK-9337;7\005\br\031i\t", key = 0x98b90a0 "&ASTERISK-9337;\034o",
 peer = 0xb7564938 "ttyLodgis01", port = 0xb7564978 "HJV&ASTERISK-9337;", exten = 0x0, context = 0xb7564a48 "\214{\214\t\225\207\f\b\214{\214\tH\206\021\b",
 options = 0x0}
       res = 4
#3  0x080c8185 in ast_device_state (device=0x98c7b8c "IAX2/ttyLodgis01") at devicestate.c:125
       buf = 0xb75649b1 "ttyLodgis01"
       chan_tech = (const struct ast_channel_tech *) 0x3a3a3a3a
       res = 976894522
#4  0x080c8795 in do_devstate_changes (data=0x0) at devicestate.c:185
       cur = (struct state_change *) 0x98c7b88
       state = 4
       devcb = (struct devstate_cb *) 0x0
ASTERISK-1  0x00acddd8 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
ASTERISK-2  0x002f0d2a in clone () from /lib/tls/libc.so.6
No symbol table info available.


****** ADDITIONAL INFORMATION ******

Seems like the pds struct is not initialzed properly in channels/chan_iax2.c/parse_dial_string

Adding

       pds->username = NULL;
       pds->context = NULL;
       pds->password = NULL;
       pds->port = NULL;
       pds->key = NULL;

at the begining of the function correct the problem
Comments:By: Joshua C. Colp (jcolp) 2006-06-16 11:09:24

This was fixed in trunk and 1.2 lastnight. Thanks!