]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 48377 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Mon, 11 Dec 2006 05:01:37 +0000 (05:01 +0000)
committerJoshua Colp <jcolp@digium.com>
Mon, 11 Dec 2006 05:01:37 +0000 (05:01 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48377 | file | 2006-12-10 23:57:38 -0500 (Sun, 10 Dec 2006) | 2 lines

Don't access the conference structure after it has been freed.

........

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

apps/app_meetme.c

index 403517f1d6331f99fcbb437edefd399681479b11..30b6b8d64db14485c679472e52a9c00d32040308 100644 (file)
@@ -1945,6 +1945,13 @@ bailoutandtrynormal:
                        conf->markedusers--;
                /* Remove ourselves from the list */
                AST_LIST_REMOVE(&conf->userlist, user, list);
+
+               /* Change any states */
+               if (!conf->users)
+                       ast_device_state_changed("meetme:%s", conf->confno);
+               if (confflags & (CONFFLAG_SLA_STATION|CONFFLAG_SLA_TRUNK))
+                       st_device_state_changed("SLA:%s", conf->confno + 4);
+
                if (AST_LIST_EMPTY(&conf->userlist)) {
                        /* close this one when no more users and no references*/
                        if (!conf->refcount)
@@ -1953,12 +1960,6 @@ bailoutandtrynormal:
                /* Return the number of seconds the user was in the conf */
                snprintf(meetmesecs, sizeof(meetmesecs), "%d", (int) (time(NULL) - user->jointime));
                pbx_builtin_setvar_helper(chan, "MEETMESECS", meetmesecs);
-
-               /* This device changed state now */
-               if (!conf->users)       /* If there are no more members */
-                       ast_device_state_changed("meetme:%s", conf->confno);
-               if (confflags & (CONFFLAG_SLA_STATION|CONFFLAG_SLA_TRUNK))
-                       ast_device_state_changed("SLA:%s", conf->confno + 4);
        }
        free(user);
        AST_LIST_UNLOCK(&confs);