revert my pass through the tree to remove checks of the result of ast_strdupa
[asterisk/asterisk.git] / apps / app_transfer.c
index c97d97d..9879034 100644 (file)
@@ -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);