]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix incorrect MeetME conference bridge reference count decrementing and sometimes...
authorJoshua Colp <jcolp@digium.com>
Thu, 20 Sep 2012 19:13:26 +0000 (19:13 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 20 Sep 2012 19:13:26 +0000 (19:13 +0000)
When using the 'e' or 'E' option to MeetMe the configured conference bridges are loaded and examined to see
if any are empty. If no conference bridges are empty the caller is prompted to enter the number of one.
This operation left around a pointer to the last created conference bridge still containing participants.
When the caller that was not able to find any empty conference bridge hung up this pointer was disposed of
and the reference count of the conference bridge decremented. If there was only a single participant in the
conference bridge it was ultimately destroyed prematurely.

(closes issue AST-994)
Reported by: John Bigelow

git-svn-id: https://origsvn.digium.com/svn/asterisk/certified/branches/1.8.15@373243 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_meetme.c

index 7c3ef54f1d13fa6b58d2fcf07374133e0b53b88d..0b85c135743ca74c18c4dfca78d60d5213d92cfd 100644 (file)
@@ -4242,6 +4242,7 @@ static int conf_exec(struct ast_channel *chan, const char *data)
                                                                        }
                                                                }
                                                                AST_LIST_UNLOCK(&confs);
+                                                               cnf = NULL;
                                                                if (!found) {
                                                                        /* At this point, we have a confno_tmp (static conference) that is empty */
                                                                        if ((empty_no_pin && ast_strlen_zero(stringp)) || (!empty_no_pin)) {