]> git.ipfire.org Git - thirdparty/asterisk.git/commit
chan_sip: Fix incorrect use of timers
authorKinsey Moore <kmoore@digium.com>
Tue, 25 Mar 2014 15:50:39 +0000 (15:50 +0000)
committerKinsey Moore <kmoore@digium.com>
Tue, 25 Mar 2014 15:50:39 +0000 (15:50 +0000)
commit7ae2541b15fda12cfbac21f41a77ba4a5c7b3f49
tree07be92c35e044ea77cc0c13204060b55fc548117
parent9c7ed786e5348266a2711405d8de0438bb09cb9e
chan_sip: Fix incorrect use of timers

If update_provisional_keepalive() is called while
send_provisional_keepalive_full() is waiting on the PVT lock, then
pvt->provisional_keepalive_sched_id will be changed to a new sched_id
value by update_provisional_keepalive(), but that new sched_id then may
be overwritten with -1 by send_provisional_keepalive_full(), killing
the pvt's reference to a schedule and "leaking" the reference.

(closes issue ASTERISK-22079)
Review: https://reviewboard.asterisk.org/r/3368/
Reported by: Jamuel Starkey, Matteo, Leif Madsen, Steve Davies
Patches:
    provisional_keepalive_fix.diff uploaded by Steve Davies (license 5012)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@411088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
channels/chan_sip.c