aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-12-11 05:01:37 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2006-12-11 05:01:37 +0000
commitc5d7a60377b7dc5f68bd26adaa0ef13cc46739ea (patch)
tree789912f127bffa7cb7fcb41c8c7fa1c2300243eb
parent8b92ed8dd27369b93a641a8a89c0812082ca312a (diff)
Merged revisions 48377 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@48378 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--apps/app_meetme.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 403517f1d..30b6b8d64 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -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);