[Home]

Summary:ASTERISK-09811: asterisk crashes on reloading after bindaddr is changed
Reporter:Makoto Dei (makoto)Labels:
Date Opened:2007-07-05 20:06:03Date Closed:2007-07-30 12:36:30
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) asterisk-1.2.18-sipsock_read_id.patch
Description:Steps

1. Set bindaddr in sip.conf to incorrect value. (e.g. 10.0.0.0)
2. Start asterisk (not reload)
3. Set bindaddr in sip.conf to correct value. (e.g. 0.0.0.0)
4. Reload asterisk
5. Crash

sipsock_read_id is not initialized, but it is passed to ast_io_change, then crash.


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

Backtrace

#0  ast_io_change (ioc=0x81b7b50, id=0x0, fd=17, callback=0, events=0,
   data=0x0) at io.c:194
194             if (*id < ioc->fdcnt) {
#1  0xb78564e0 in do_monitor (data=0x0) at chan_sip.c:12909
#2  0xb7fc3ddf in start_thread (arg=0x11) at pthread_create.c:264
#3  0xb7e6f45a in clone () from /lib/nptl/libc.so.6
Comments:By: Makoto Dei (makoto) 2007-07-06 09:40:39

Attached patch will fix the problem.

By: Digium Subversion (svnbot) 2007-07-06 10:39:02

Repository: asterisk
Revision: 73678

------------------------------------------------------------------------
r73678 | russell | 2007-07-06 10:39:01 -0500 (Fri, 06 Jul 2007) | 7 lines

(closes issue ASTERISK-9811)
Reported by: makoto
Patches submitted by: makoto

This fixes a crash in chan_sip that happens when the bindaddr setting is not
valid on Asterisk startup, gets fixed, and then a reload gets issued.

------------------------------------------------------------------------

By: Digium Subversion (svnbot) 2007-07-06 10:40:46

Repository: asterisk
Revision: 73679

------------------------------------------------------------------------
r73679 | russell | 2007-07-06 10:40:45 -0500 (Fri, 06 Jul 2007) | 15 lines

Merged revisions 73678 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r73678 | russell | 2007-07-06 10:55:41 -0500 (Fri, 06 Jul 2007) | 7 lines

(closes issue ASTERISK-9811)
Reported by: makoto
Patches submitted by: makoto

This fixes a crash in chan_sip that happens when the bindaddr setting is not
valid on Asterisk startup, gets fixed, and then a reload gets issued.

........

------------------------------------------------------------------------

By: Digium Subversion (svnbot) 2007-07-06 10:43:25

Repository: asterisk
Revision: 73680

------------------------------------------------------------------------
r73680 | russell | 2007-07-06 10:43:24 -0500 (Fri, 06 Jul 2007) | 23 lines

Merged revisions 73679 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r73679 | russell | 2007-07-06 10:57:25 -0500 (Fri, 06 Jul 2007) | 15 lines

Merged revisions 73678 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r73678 | russell | 2007-07-06 10:55:41 -0500 (Fri, 06 Jul 2007) | 7 lines

(closes issue ASTERISK-9811)
Reported by: makoto
Patches submitted by: makoto

This fixes a crash in chan_sip that happens when the bindaddr setting is not
valid on Asterisk startup, gets fixed, and then a reload gets issued.

........

................

------------------------------------------------------------------------

By: Makoto Dei (makoto) 2007-07-10 04:47:01

sipsock_read_id is not initialized to NULL, is this OK ?

By: Joshua C. Colp (jcolp) 2007-07-30 12:36:29

Yes, we've probably discussed this on the -dev mailing list and stuff is initialized to NULL.