aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_transfer.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/app_transfer.c')
-rw-r--r--apps/app_transfer.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/apps/app_transfer.c b/apps/app_transfer.c
index c97d97dcd..98790341e 100644
--- a/apps/app_transfer.c
+++ b/apps/app_transfer.c
@@ -88,14 +88,19 @@ static int transfer_exec(struct ast_channel *chan, void *data)
LOCAL_USER_ADD(u);
- if (ast_strlen_zero(data)) {
+ if (ast_strlen_zero((char *)data)) {
ast_log(LOG_WARNING, "Transfer requires an argument ([Tech/]destination[|options])\n");
LOCAL_USER_REMOVE(u);
pbx_builtin_setvar_helper(chan, "TRANSFERSTATUS", "FAILURE");
return 0;
+ } else {
+ parse = ast_strdupa(data);
+ if (!parse) {
+ ast_log(LOG_ERROR, "Out of memory!\n");
+ LOCAL_USER_REMOVE(u);
+ return -1;
+ }
}
-
- parse = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, parse);