chan_iax2: Fix crash caused by unprotected access to iaxs[peer->callno]
authorMatthew Jordan <mjordan@digium.com>
Wed, 8 Apr 2015 12:00:35 +0000 (12:00 +0000)
committerMatthew Jordan <mjordan@digium.com>
Wed, 8 Apr 2015 12:00:35 +0000 (12:00 +0000)
commita9b6a624616fa7876b6232d2f7e7dd0438d630a9
tree556401f67124f8d931626e8f390f4e76a7bddbed
parent477536ef25bf8a95ea4a43800ee14f15e0b67dcc
chan_iax2: Fix crash caused by unprotected access to iaxs[peer->callno]

This patch fixes an access to the peer callnumber that is unprotected by a
corresponding mutex. The peer->callno value can be changed by multiple threads,
and all data inside the iaxs array must be procted by a corresponding lock
of iaxsl.

The patch moves the unprotected access to a location where the mutex is
safely obtained.

Review: https://reviewboard.asterisk.org/r/4599/

ASTERISK-21211 #close
Reported by: Jaco Kroon
patches:
  asterisk-11.2.1-iax2_poke-segfault.diff submitted by Jaco Kroon (License 5671)
........

Merged revisions 434291 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 434292 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_iax2.c