diff options
author | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-04-30 20:22:13 +0000 |
---|---|---|
committer | mmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-04-30 20:22:13 +0000 |
commit | 6cef6cf429719236107c41834ff6ded70d11f520 (patch) | |
tree | ecb5efbb2510970ad7ec606c6e786e0667361672 /channels/chan_dahdi.c | |
parent | 191f21556dc274a3785c5a3f21cecf5d75a48ae6 (diff) |
Merged revisions 260346 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r260346 | mmichelson | 2010-04-30 15:11:02 -0500 (Fri, 30 Apr 2010) | 24 lines
Merged revisions 260345 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r260345 | mmichelson | 2010-04-30 15:08:15 -0500 (Fri, 30 Apr 2010) | 18 lines
Fix potential crash from race condition due to accessing channel data without the channel locked.
In res_musiconhold.c, there are several places where a channel's
stream's existence is checked prior to calling ast_closestream on it. The issue
here is that in several cases, the channel was not locked while checking the
stream. The result was that if two threads checked the state of the channel's
stream at approximately the same time, then there could be a situation where
both threads attempt to call ast_closestream on the channel's stream. The result
here is that the refcount for the stream would go below 0, resulting in a crash.
I have added proper channel locking to res_musiconhold.c to ensure that
we do not try to check chan->stream without the channel locked. A Digium customer
has been using this patch for several weeks and has not had any crashes since
applying the patch.
ABE-2147
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@260373 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_dahdi.c')
0 files changed, 0 insertions, 0 deletions