]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_fax: Fix deadlock in ast_channel_get_t38_state(). 11/3711/1
authorRichard Mudgett <rmudgett@digium.com>
Tue, 23 Aug 2016 16:02:35 +0000 (11:02 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Thu, 25 Aug 2016 22:13:53 +0000 (17:13 -0500)
commit8b4b2500ee010e9d6baf9454475d337d45c7c368
tree9e2b37266e55b5272cd7dcb206396188f9e627f1
parente8d4f400226b9cb3110f287e15ca9521fc8af1e7
res_fax: Fix deadlock in ast_channel_get_t38_state().

ast_channel_get_t38_state() calls ast_channel_queryoption() with
AST_OPTION_T38_STATE.  If the passed in channel is a local channel then a
deadlock can happen if a channel lock is held when called.

* Made ast_channel_get_t38_state() callers not hold a channel lock before
calling.

* Update ast_channel_get_t38_state() doxygen to note that no channel locks
can be held when calling the function.

ASTERISK-26203 #close
Reported by: Etienne Lessard

ASTERISK-24822 #close
Reported by: David Brillert

ASTERISK-22732 #close
Reported by: Richard Mudgett

Change-Id: I49fd76fa9af628b4198009b5c0b82c8b03681214
include/asterisk/channel.h
res/res_fax.c