From dcd583bbdef0aee32cec7f90eb0f18fe4a08d68c Mon Sep 17 00:00:00 2001 From: Ben Kramer Date: Mon, 10 Jan 2005 22:09:19 +0000 Subject: [PATCH] / checks to if owner is set before using it. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4751 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_vpb.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/channels/chan_vpb.c b/channels/chan_vpb.c index 4dc359fcfb..9bcf1f2f0b 100755 --- a/channels/chan_vpb.c +++ b/channels/chan_vpb.c @@ -979,13 +979,19 @@ static inline int monitor_handle_notowned(struct vpb_pvt *p, VPB_EVENT *e) p->callerid[p->dtmf_caller_pos] = '\0'; if (option_verbose > 2) ast_verbose(VERBOSE_PREFIX_3 " %s: DTMF CallerID %s\n",p->dev,p->callerid); - if (owner->cid.cid_num) - free(owner->cid.cid_num); - owner->cid.cid_num=NULL; - if (owner->cid.cid_name) - free(owner->cid.cid_name); - owner->cid.cid_name=NULL; - owner->cid.cid_num = strdup(p->callerid); + if (owner){ + if (owner->cid.cid_num) + free(owner->cid.cid_num); + owner->cid.cid_num=NULL; + if (owner->cid.cid_name) + free(owner->cid.cid_name); + owner->cid.cid_name=NULL; + owner->cid.cid_num = strdup(p->callerid); + } + else { + if (option_verbose > 2) + ast_verbose(VERBOSE_PREFIX_3 " %s: DTMF CallerID: no owner to assign CID \n",p->dev); + } } else if ( p->dtmf_caller_pos < AST_MAX_EXTENSION ) { if ( p->dtmf_caller_pos >= 0 ) p->callerid[p->dtmf_caller_pos] = e->data;