mirror of https://github.com/asterisk/asterisk
At this point in the code, it is possible that peer_cdr may be invalid. Specifically, in the blind transfer code, CDRs are swapped between channels. So, peer_cdr is no longer == peer->cdr. The scenario that exposed a crash in this code was a blind transfer that hit the system call limit, causing the transferee channel to get destroyed after the transfer attempt failed. Even if it succeeds and this code doesn't crash, this code was still trying to reset a CDR on a channel that was now owned by a different thread, which is a BadThing(tm). (ABE-2417) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@275994 65c4cc65-6c06-0410-ace0-fbb531ad65f31.4
parent
6dc0a3b80e
commit
2a19af50e8
Loading…
Reference in new issue