aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_dial.c
diff options
context:
space:
mode:
authorcitats <citats@f38db490-d61c-443f-a65b-d21fe96a405b>2004-02-27 04:24:42 +0000
committercitats <citats@f38db490-d61c-443f-a65b-d21fe96a405b>2004-02-27 04:24:42 +0000
commitf0a93508bfc69d4e17a89ceb68ebca06293fb7f3 (patch)
tree661dad8f36ade949d766aa5e1fb46369287625bd /apps/app_dial.c
parent11ecb3df7c1ad4f40499138a57003ca1a7ab555d (diff)
Check result of malloc in app_dial.c
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2255 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_dial.c')
-rwxr-xr-xapps/app_dial.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/app_dial.c b/apps/app_dial.c
index d6bf88736..6acbddba7 100755
--- a/apps/app_dial.c
+++ b/apps/app_dial.c
@@ -207,13 +207,19 @@ static struct ast_channel *wait_for_answer(struct ast_channel *in, struct localu
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 (o->chan->callerid)
+ strncpy(o->chan->callerid, in->callerid, strlen(in->callerid) + 1);
+ else
+ ast_log(LOG_WARNING, "Out of memory\n");
}
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);
+ if (o->chan->ani)
+ strncpy(o->chan->ani, in->ani, strlen(in->ani) + 1);
+ else
+ ast_log(LOG_WARNING, "Out of memory\n");
}
if (ast_call(o->chan, tmpchan, 0)) {
ast_log(LOG_NOTICE, "Failed to dial on local channel for call forward to '%s'\n", tmpchan);