vsrc_life: free option values.

This commit is contained in:
Nicolas George 2012-03-03 12:33:42 +01:00
parent f8210f892e
commit eb6b6d7f8a
1 changed files with 4 additions and 0 deletions

View File

@ -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);