]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Make use of the temporary channel pointer while the pvt is unlocked.
authorRussell Bryant <russell@russellbryant.com>
Fri, 4 Jan 2008 16:19:22 +0000 (16:19 +0000)
committerRussell Bryant <russell@russellbryant.com>
Fri, 4 Jan 2008 16:19:22 +0000 (16:19 +0000)
(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

channels/chan_zap.c

index ee7aa0261e7b98aad5a4d624958755d419fc5494..46334780a49d071d538ea365dbf94f2c524f6a26 100644 (file)
@@ -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