On 21.11.2014 00:47, Lukasz Marek wrote:
Signed-off-by: Lukasz Marek <lukasz.m.lu...@gmail.com>
---
  ffserver.c        |  2 +-
  ffserver_config.c | 18 +++++++++++++++++-
  ffserver_config.h |  2 ++
  3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/ffserver.c b/ffserver.c
index 933eb0e..40a5faa 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3660,7 +3660,7 @@ static void handle_child_exit(int sig)

                  if (uptime < 30)
                      /* Turn off any more restarts */
-                    feed->child_argv = 0;
+                    ffserver_free_child_args(&feed->child_argv);
              }
          }
      }
diff --git a/ffserver_config.c b/ffserver_config.c
index 02c8431..a235142 100644
--- a/ffserver_config.c
+++ b/ffserver_config.c
@@ -31,6 +31,8 @@
  #include "cmdutils.h"
  #include "ffserver_config.h"

+#define MAX_CHILD_ARGS 64
+
  static int ffserver_save_avoption(AVCodecContext *ctx, const char *opt, const 
char *arg,
                                    AVDictionary **dict, int type, 
FFServerConfig *config, int line_num);
  static void vreport_config_error(const char *filename, int line_num, int 
log_level,
@@ -603,7 +605,7 @@ static int ffserver_parse_config_feed(FFServerConfig 
*config, const char *cmd, c
      if (!av_strcasecmp(cmd, "Launch")) {
          int i;

-        feed->child_argv = av_mallocz(64 * sizeof(char *));
+        feed->child_argv = av_mallocz_array(MAX_CHILD_ARGS, sizeof(char *));
          if (!feed->child_argv)
              return AVERROR(ENOMEM);
          for (i = 0; i < 62; i++) {

Right after submit I notice this hardcoded 62 so I changed locally to MAX_CHILD_ARGS - 2 :]

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to