app_queue: Initialize array holding MixMonitor exec options
authorMatthew Jordan <mjordan@digium.com>
Tue, 24 Sep 2013 18:59:05 +0000 (18:59 +0000)
committerMatthew Jordan <mjordan@digium.com>
Tue, 24 Sep 2013 18:59:05 +0000 (18:59 +0000)
If the channel variable MONITOR_EXEC is set, app_queue will pass the specified
execution parameters to the MixMonitor application when a queue is recorded.
If that channel variable is not set, the buffer that holds the escaped value
was not being initialized to NULL, and so would be passed to the MixMonitor
application with garbage. Hilarity ensued as app_mixmonitor attempted to
execute gobeldy-gook.
........

Merged revisions 399681 from http://svn.asterisk.org/svn/asterisk/branches/12

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

apps/app_queue.c

index 0dd820b..e3ab53b 100644 (file)
@@ -5910,7 +5910,7 @@ static void setup_mixmonitor(struct queue_ent *qe, const char *filename)
        char escaped_filename[256];
        char file_with_ext[256];
        char mixmonargs[1512];
-       char escaped_monitor_exec[1024];
+       char escaped_monitor_exec[1024] = "\0";
        const char *monitor_options;
        const char *monitor_exec;