summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJeff Peeler <jpeeler@digium.com>2009-10-06 23:56:01 +0000
committerJeff Peeler <jpeeler@digium.com>2009-10-06 23:56:01 +0000
commitb5eb0449c0e6307bb83fe26e6c9cfcacd7ca274e (patch)
tree89f8edf46cc6cf4f93c458c36737329df181a00f /channels
parentccdfe1c2d7d332eafa276d5eec5d271311629fa0 (diff)
Merged revisions 222462 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r222462 | jpeeler | 2009-10-06 18:51:19 -0500 (Tue, 06 Oct 2009) | 8 lines Add missing unlock(s) in dahdi_read (two cases in trunk) (closes issue #15683) Reported by: alecdavis ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@222463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_dahdi.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index a97ff5837..df4665429 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -7674,7 +7674,10 @@ static struct ast_frame *dahdi_read(struct ast_channel *ast)
return NULL;
}
- if ((p->radio || (p->oprmode < 0)) && p->inalarm) return NULL;
+ if ((p->radio || (p->oprmode < 0)) && p->inalarm) {
+ ast_mutex_unlock(&p->lock);
+ return NULL;
+ }
p->subs[idx].f.frametype = AST_FRAME_NULL;
p->subs[idx].f.datalen = 0;
@@ -7977,6 +7980,7 @@ static struct ast_frame *dahdi_read(struct ast_channel *ast)
if (res < 0) {
ast_log(LOG_WARNING, "Unable to initiate dialing on trunk channel %d\n", p->channel);
p->dop.dialstr[0] = '\0';
+ ast_mutex_unlock(&p->lock);
return NULL;
} else {
ast_log(LOG_DEBUG, "Sent deferred digit string: %s\n", p->dop.dialstr);