From fac72f08b80bc6dca7920b4c4824d01c81b68ed9 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Thu, 24 Jun 2010 21:58:49 +0000 Subject: [PATCH] ss_thread calls pri_grab without lock during overlap dial Recent changes to chan_dahdi with relation to overlap dialing call pri_grab without first obtaining a lock. (closes issue #17414) Reported by: pdf Patches: bug17414.patch uploaded by jpeeler (license 325) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@272446 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_dahdi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 9cd089a93d..9eef9e3c19 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -6048,6 +6048,7 @@ static void *ss_thread(void *data) ast_dsp_digitreset(p->dsp); } if (p->pri->overlapdial & DAHDI_OVERLAPDIAL_INCOMING) { + ast_mutex_lock(&p->lock); if (p->pri->pri) { if (!pri_grab(p, p->pri)) { pri_proceeding(p->pri->pri, p->call, PVT_TO_CHANNEL(p), 0); @@ -6057,6 +6058,7 @@ static void *ss_thread(void *data) ast_log(LOG_WARNING, "Unable to grab PRI on span %d\n", p->span); } } + ast_mutex_unlock(&p->lock); } dahdi_enable_ec(p); ast_setstate(chan, AST_STATE_RING); -- 2.47.2