[FFmpeg-cvslog] cmdutils: free the report file name.

Nicolas George git at videolan.org
Sat Nov 17 12:53:25 CET 2012


ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Sat Nov 17 11:24:01 2012 +0100| [cb8c5e531c8d6b9d7a3efad4186df59efc043345] | committer: Nicolas George

cmdutils: free the report file name.

Fix coverity issue 743443, which was a harmless leak.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cb8c5e531c8d6b9d7a3efad4186df59efc043345
---

 cmdutils.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/cmdutils.c b/cmdutils.c
index 5cdb183..7e587de 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -562,7 +562,7 @@ static void expand_filename_template(AVBPrint *bp, const char *template,
 
 static int init_report(const char *env)
 {
-    const char *filename_template = "%p-%t.log";
+    char *filename_template = NULL;
     char *key, *val;
     int ret, count = 0;
     time_t now;
@@ -586,6 +586,7 @@ static int init_report(const char *env)
             env++;
         count++;
         if (!strcmp(key, "file")) {
+            av_free(filename_template);
             filename_template = val;
             val = NULL;
         } else {
@@ -596,7 +597,9 @@ static int init_report(const char *env)
     }
 
     av_bprint_init(&filename, 0, 1);
-    expand_filename_template(&filename, filename_template, tm);
+    expand_filename_template(&filename,
+                             av_x_if_null(filename_template, "%p-%t.log"), tm);
+    av_free(filename_template);
     if (!av_bprint_is_complete(&filename)) {
         av_log(NULL, AV_LOG_ERROR, "Out of memory building report file name\n");
         return AVERROR(ENOMEM);



More information about the ffmpeg-cvslog mailing list