]> git.ipfire.org Git - thirdparty/asterisk.git/commit
chan_sip: Fix incorrect use of timers
authorKinsey Moore <kmoore@digium.com>
Tue, 25 Mar 2014 16:04:10 +0000 (16:04 +0000)
committerKinsey Moore <kmoore@digium.com>
Tue, 25 Mar 2014 16:04:10 +0000 (16:04 +0000)
commit0a2ebbd81515ca0d3a05172d8160d6e6d540739a
treea677dd5515cf5d0844da7fc7058a601810168f88
parent225c7dd818b1f78cce2612d619902ac9e6f0010d
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)
........

Merged revisions 411088 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

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

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