Merged revisions 14462 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Thu, 23 Mar 2006 20:15:01 +0000 (20:15 +0000)
committerRussell Bryant <russell@russellbryant.com>
Thu, 23 Mar 2006 20:15:01 +0000 (20:15 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r14462 | russell | 2006-03-23 15:13:48 -0500 (Thu, 23 Mar 2006) | 2 lines

don't crash when asked to read from a file that doesn't exist (issue #6786)

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14463 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_readfile.c

index 4b3f57e..708ad02 100644 (file)
@@ -92,15 +92,16 @@ static int readfile_exec(struct ast_channel *chan, void *data)
                }
        }
 
-       returnvar = ast_read_textfile(file);
-       if(len > 0){
-               if(len < strlen(returnvar))
-                       returnvar[len]='\0';
-               else
-                       ast_log(LOG_WARNING,"%s is longer than %d, and %d \n", file, len, (int)strlen(returnvar));
+       if ((returnvar = ast_read_textfile(file))) {
+               if (len > 0) {
+                       if (len < strlen(returnvar))
+                               returnvar[len]='\0';
+                       else
+                               ast_log(LOG_WARNING, "%s is longer than %d, and %d \n", file, len, (int)strlen(returnvar));
+               }
+               pbx_builtin_setvar_helper(chan, varname, returnvar);
+               free(returnvar);
        }
-       pbx_builtin_setvar_helper(chan, varname, returnvar);
-       free(returnvar);
        LOCAL_USER_REMOVE(u);
        return res;
 }