mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 04:11:08 +00:00
Don't access the conference structure after it has been freed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@48377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1927,6 +1927,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)
|
||||
@@ -1935,12 +1942,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);
|
||||
|
Reference in New Issue
Block a user