summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rwxr-xr-xapps/app_dial.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index f9e6b4282..bfc93f69f 100755
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -203,11 +203,15 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct localu
o->stillgoing = 0;
numbusies++;
} else {
- if (in->callerid && !o->chan->callerid) {
+ if (in->callerid) {
+ if (o->chan->callerid)
+ free(o->chan->callerid);
o->chan->callerid = malloc(strlen(in->callerid) + 1);
strncpy(o->chan->callerid, in->callerid, strlen(in->callerid) + 1);
}
- if (in->ani && !o->chan->ani) {
+ if (in->ani) {
+ if (o->chan->ani)
+ free(o->chan->ani);
o->chan->ani = malloc(strlen(in->ani) + 1);
strncpy(o->chan->ani, in->ani, strlen(in->ani) + 1);
}