From dafb48fe09f5c2abc197903768d15533ec4cbf7d Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Thu, 20 May 2010 20:49:40 +0000 Subject: Avoid crash in generic CC agent init if caller name or number is NULL. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@264711 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/ccss.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'main/ccss.c') diff --git a/main/ccss.c b/main/ccss.c index 8dd048c9a..04fa92a1c 100644 --- a/main/ccss.c +++ b/main/ccss.c @@ -2339,8 +2339,12 @@ static int cc_generic_agent_init(struct ast_cc_agent *agent, struct ast_channel } generic_pvt->offer_timer_id = -1; - ast_copy_string(generic_pvt->cid_num, chan->cid.cid_num, sizeof(generic_pvt->cid_num)); - ast_copy_string(generic_pvt->cid_name, chan->cid.cid_name, sizeof(generic_pvt->cid_name)); + if (chan->cid.cid_num) { + ast_copy_string(generic_pvt->cid_num, chan->cid.cid_num, sizeof(generic_pvt->cid_num)); + } + if (chan->cid.cid_name) { + ast_copy_string(generic_pvt->cid_name, chan->cid.cid_name, sizeof(generic_pvt->cid_name)); + } ast_copy_string(generic_pvt->exten, S_OR(chan->macroexten, chan->exten), sizeof(generic_pvt->exten)); ast_copy_string(generic_pvt->context, S_OR(chan->macrocontext, chan->context), sizeof(generic_pvt->context)); agent->private_data = generic_pvt; -- cgit v1.2.3