mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
Make use of the temporary channel pointer while the pvt is unlocked.
(closes issue #11675) Reported by: flefoll Patches: chan_zap.c.patch-store-owner-before-unlock uploaded by flefoll (license 244) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@96449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -8954,7 +8954,7 @@ static void *pri_dchannel(void *vpri)
|
||||
if (!ast_strlen_zero(e->ringing.useruserinfo)) {
|
||||
struct ast_channel *owner = pri->pvts[chanpos]->owner;
|
||||
ast_mutex_unlock(&pri->pvts[chanpos]->lock);
|
||||
pbx_builtin_setvar_helper(pri->pvts[chanpos]->owner, "USERUSERINFO", e->ringing.useruserinfo);
|
||||
pbx_builtin_setvar_helper(owner, "USERUSERINFO", e->ringing.useruserinfo);
|
||||
ast_mutex_lock(&pri->pvts[chanpos]->lock);
|
||||
}
|
||||
#endif
|
||||
@@ -9112,7 +9112,7 @@ static void *pri_dchannel(void *vpri)
|
||||
if (!ast_strlen_zero(e->answer.useruserinfo)) {
|
||||
struct ast_channel *owner = pri->pvts[chanpos]->owner;
|
||||
ast_mutex_unlock(&pri->pvts[chanpos]->lock);
|
||||
pbx_builtin_setvar_helper(pri->pvts[chanpos]->owner, "USERUSERINFO", e->answer.useruserinfo);
|
||||
pbx_builtin_setvar_helper(owner, "USERUSERINFO", e->answer.useruserinfo);
|
||||
ast_mutex_lock(&pri->pvts[chanpos]->lock);
|
||||
}
|
||||
#endif
|
||||
@@ -9181,7 +9181,7 @@ static void *pri_dchannel(void *vpri)
|
||||
if (pri->pvts[chanpos]->owner && !ast_strlen_zero(e->hangup.useruserinfo)) {
|
||||
struct ast_channel *owner = pri->pvts[chanpos]->owner;
|
||||
ast_mutex_unlock(&pri->pvts[chanpos]->lock);
|
||||
pbx_builtin_setvar_helper(pri->pvts[chanpos]->owner, "USERUSERINFO", e->hangup.useruserinfo);
|
||||
pbx_builtin_setvar_helper(owner, "USERUSERINFO", e->hangup.useruserinfo);
|
||||
ast_mutex_lock(&pri->pvts[chanpos]->lock);
|
||||
}
|
||||
#endif
|
||||
@@ -9250,7 +9250,7 @@ static void *pri_dchannel(void *vpri)
|
||||
if (!ast_strlen_zero(e->hangup.useruserinfo)) {
|
||||
struct ast_channel *owner = pri->pvts[chanpos]->owner;
|
||||
ast_mutex_unlock(&pri->pvts[chanpos]->lock);
|
||||
pbx_builtin_setvar_helper(pri->pvts[chanpos]->owner, "USERUSERINFO", e->hangup.useruserinfo);
|
||||
pbx_builtin_setvar_helper(owner, "USERUSERINFO", e->hangup.useruserinfo);
|
||||
ast_mutex_lock(&pri->pvts[chanpos]->lock);
|
||||
}
|
||||
#endif
|
||||
@@ -9281,7 +9281,7 @@ static void *pri_dchannel(void *vpri)
|
||||
if (!ast_strlen_zero(e->hangup.useruserinfo)) {
|
||||
struct ast_channel *owner = pri->pvts[chanpos]->owner;
|
||||
ast_mutex_unlock(&pri->pvts[chanpos]->lock);
|
||||
pbx_builtin_setvar_helper(pri->pvts[chanpos]->owner, "USERUSERINFO", e->hangup.useruserinfo);
|
||||
pbx_builtin_setvar_helper(owner, "USERUSERINFO", e->hangup.useruserinfo);
|
||||
ast_mutex_lock(&pri->pvts[chanpos]->lock);
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user