Fix potential seg if someone doesn't specify an extension
[asterisk/asterisk.git] / apps / app_record.c
index f83dcb3..7c55e7a 100755 (executable)
@@ -86,7 +86,7 @@ static int record_exec(struct ast_channel *chan, void *data)
 
 
        /* The next few lines of code parse out the filename and header from the input string */
-       if (!data) { /* no data implies no filename or anything is present */
+       if (!data || !ast_strlen_zero(data)) { /* no data implies no filename or anything is present */
                ast_log(LOG_WARNING, "Record requires an argument (filename)\n");
                return -1;
        }
@@ -106,6 +106,10 @@ static int record_exec(struct ast_channel *chan, void *data)
                if (!ext)
                        ext = strchr(filename, ':');
        }
+       if (!ext) {
+               ast_log(LOG_WARNING, "No extension specified to filename!\n");
+               return -1;
+       }
 
        if (silstr) {
                if ((sscanf(silstr, "%d", &i) == 1) && (i > -1))