[asterisk-bugs] [Asterisk 0019192]: [regression] segfault in _sip_tcp_helper_thread() caused by bad merge in r314628
Asterisk Bug Tracker
noreply at bugs.digium.com
Wed Apr 27 13:54:24 CDT 2011
The following issue has been UPDATED.
======================================================================
https://issues.asterisk.org/view.php?id=19192
======================================================================
Reported By: stknob
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 19192
Category: Channels/chan_sip/General
Reproducibility: always
Severity: crash
Priority: normal
Status: new
Asterisk Version: 1.8.3.3
JIRA:
Regression: Yes
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2011-04-27 11:43 CDT
Last Modified: 2011-04-27 13:54 CDT
======================================================================
Summary: [regression] segfault in _sip_tcp_helper_thread()
caused by bad merge in r314628
Description:
This happens if ast_tcptls_session_start() in _sip_tcp_helper_thread() on
line 2506 in chan_sip.c fails (returns NULL).
To reproduce,
- create a tcp sip peer that can not be reached (e.g. blocked by
firewall)
- use sip qualify peer X (or set qualify=yes in sip.conf)
chan_sip will try to create the connection by calling
ast_tcptls_session_start().
the connection fails and ast_tcptls_session_start() returns NULL:
if ((!(ca = tcptls_session->parent)) ||
(!(me = ao2_t_find(threadt, &tmp, OBJ_POINTER, "ao2_find, getting
sip_threadinfo in tcp helper thread"))) ||
(!(tcptls_session = ast_tcptls_client_start(tcptls_session)))) {
goto cleanup;
}
setting tcptls_session to NULL and jumping to cleanup:
cleanup:
if (!tcptls_session->client && !authenticated) {
ast_atomic_fetchadd_int(&unauth_sessions, -1);
}
*boom*
asterisk[8204]: segfault at 18 ip 00007f497d4499f0 sp 00007f4966ef5450
error 4 in chan_sip.so[7f497d3c7000+a6000]
======================================================================
Issue History
Date Modified Username Field Change
======================================================================
2011-04-27 13:54 lmadsen Regression No => Yes
2011-04-27 13:54 lmadsen Summary segfault in
_sip_tcp_helper_thread() caused by bad merge in r314628 => [regression] segfault
in _sip_tcp_helper_thread() caused by bad merge in r314628
======================================================================
More information about the asterisk-bugs
mailing list