aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_skinny.c
diff options
context:
space:
mode:
authormvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b>2009-12-04 16:18:57 +0000
committermvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b>2009-12-04 16:18:57 +0000
commit2ca9398edb2fdbd94ef56a599652957c6e086cc7 (patch)
tree04de30cbab2c18facd3b366212158120df20bbed /channels/chan_skinny.c
parent08651f52a3d83fead3f3203f79647ac288e9a7cd (diff)
Only assign line and device in handle_transfer_button when we have a subchannel.
(closes issue #16040) Reported by: ebroad git-svn-id: http://svn.digium.com/svn/asterisk/trunk@233059 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_skinny.c')
-rw-r--r--channels/chan_skinny.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 79eb2fb2b..c7cfb1501 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -4544,8 +4544,8 @@ static int handle_hold_button(struct skinny_subchannel *sub)
static int handle_transfer_button(struct skinny_subchannel *sub)
{
- struct skinny_line *l = sub->parent;
- struct skinny_device *d = l->device;
+ struct skinny_line *l;
+ struct skinny_device *d;
struct skinny_subchannel *newsub;
struct ast_channel *c;
pthread_t t;
@@ -4554,6 +4554,10 @@ static int handle_transfer_button(struct skinny_subchannel *sub)
ast_verbose("Transfer: No subchannel to transfer\n");
return -1;
}
+
+ l = sub->parent;
+ d = l->device;
+
if (!sub->related) {
/* Another sub has not been created so this must be first XFER press */
if (!sub->onhold) {