aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_vpb.c
diff options
context:
space:
mode:
authorbkramer <bkramer@f38db490-d61c-443f-a65b-d21fe96a405b>2005-01-10 22:09:19 +0000
committerbkramer <bkramer@f38db490-d61c-443f-a65b-d21fe96a405b>2005-01-10 22:09:19 +0000
commit8da3b166d649f55f74a1f218a8d1fb44a8c311fc (patch)
treed39c34e1fa3968b1c4311920bdd2f4e992add41f /channels/chan_vpb.c
parent9da2a64cda2d442917280de1aac49bd40cbf05be (diff)
/ checks to if owner is set before using it.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4751 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_vpb.c')
-rwxr-xr-xchannels/chan_vpb.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/channels/chan_vpb.c b/channels/chan_vpb.c
index 4dc359fcf..9bcf1f2f0 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;