[FFmpeg-devel] [PATCH 2/4] vsrc_life: free option values.

Nicolas George nicolas.george at normalesup.org
Sat Mar 3 13:45:40 CET 2012


Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
 libavfilter/vsrc_life.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)


Another method would be to make the options system capable of parsing these
types itself.


diff --git a/libavfilter/vsrc_life.c b/libavfilter/vsrc_life.c
index ae14401..d66fc66 100644
--- a/libavfilter/vsrc_life.c
+++ b/libavfilter/vsrc_life.c
@@ -177,6 +177,7 @@ static int init_pattern_from_file(AVFilterContext *ctx)
     if ((ret = av_file_map(life->filename, &life->file_buf, &life->file_bufsize,
                            0, ctx)) < 0)
         return ret;
+    av_freep(&life->filename);
 
     /* prescan file to get the number of lines and the maximum width */
     w = 0;
@@ -243,6 +244,7 @@ static int init(AVFilterContext *ctx, const char *args, void *opaque)
         av_log(ctx, AV_LOG_ERROR, "Invalid frame rate: %s\n", life->rate);
         return AVERROR(EINVAL);
     }
+    av_freep(&life->rate);
 
     if (!life->size && !life->filename)
         av_opt_set(life, "size", "320x240", 0);
@@ -252,6 +254,7 @@ static int init(AVFilterContext *ctx, const char *args, void *opaque)
         av_log(ctx, AV_LOG_ERROR, "Invalid frame size: %s\n", life->size);
         return ret;
     }
+    av_freep(&life->size);
 
     if ((ret = parse_rule(&life->born_rule, &life->stay_rule, life->rule_str, ctx)) < 0)
         return ret;
@@ -262,6 +265,7 @@ static int init(AVFilterContext *ctx, const char *args, void *opaque)
                life->name ## _color_str); \
         return ret; \
     } \
+    av_freep(&life->name ## _color_str); \
 } while (0)
 
     PARSE_COLOR(life);
-- 
1.7.9.1



More information about the ffmpeg-devel mailing list