]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 222463 via svnmerge from
authorJeff Peeler <jpeeler@digium.com>
Tue, 6 Oct 2009 23:57:42 +0000 (23:57 +0000)
committerJeff Peeler <jpeeler@digium.com>
Tue, 6 Oct 2009 23:57:42 +0000 (23:57 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

................
  r222463 | jpeeler | 2009-10-06 18:56:01 -0500 (Tue, 06 Oct 2009) | 14 lines

  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/branches/1.6.0@222464 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_dahdi.c

index 8d17d6e9f77089c00808912dfbc21124ae3a2a6d..9db9b57d0910d29a3ad5044e15385c61bf8c80ed 100644 (file)
@@ -5682,7 +5682,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[index].f.frametype = AST_FRAME_NULL;
        p->subs[index].f.datalen = 0;