diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 1eadea3e69b9fd339f21fea15766244abca27642..7e7c01790c742a237b9b297bf6e211e42d3d9c82 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -5844,13 +5844,15 @@ static void *ss_thread(void *data) } else cs = NULL; - if (chan->cid.cid_num) { + if (number || name) { + if (chan->cid.cid_num) { free(chan->cid.cid_num); chan->cid.cid_num = NULL; - } - if (chan->cid.cid_name) { + } + if (chan->cid.cid_name) { free(chan->cid.cid_name); chan->cid.cid_name = NULL; + } } if (number) ast_shrink_phone_number(number);