Skinny: fix up possible double unlock of chan.
authorDamien Wedhorn <voip@facts.com.au>
Fri, 31 Jan 2014 05:31:45 +0000 (05:31 +0000)
committerDamien Wedhorn <voip@facts.com.au>
Fri, 31 Jan 2014 05:31:45 +0000 (05:31 +0000)
Return before chan is possibly unlocked a second time when hanging up
a channel in SUBSTATE_OFFHOOK.
........

Merged revisions 406987 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@406988 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_skinny.c

index fee2ee0..ca0cd2c 100644 (file)
@@ -5799,6 +5799,7 @@ static void setsubstate(struct skinny_subchannel *sub, int state)
                                sub->substate = SUBSTATE_ONHOOK;
                                skinny_unlocksub(sub);
                                ast_hangup(sub->owner);
+                               return;
                        } else {
                                sub->substate = SUBSTATE_ONHOOK;
                                ast_queue_hangup(sub->owner);