cmdutils: free the report file name.

Fix coverity issue 743443, which was a harmless leak.
This commit is contained in:
Nicolas George 2012-11-17 11:24:01 +01:00
parent 1ba2e589cc
commit cb8c5e531c
1 changed files with 5 additions and 2 deletions

View File

@ -562,7 +562,7 @@ static void expand_filename_template(AVBPrint *bp, const char *template,
static int init_report(const char *env) static int init_report(const char *env)
{ {
const char *filename_template = "%p-%t.log"; char *filename_template = NULL;
char *key, *val; char *key, *val;
int ret, count = 0; int ret, count = 0;
time_t now; time_t now;
@ -586,6 +586,7 @@ static int init_report(const char *env)
env++; env++;
count++; count++;
if (!strcmp(key, "file")) { if (!strcmp(key, "file")) {
av_free(filename_template);
filename_template = val; filename_template = val;
val = NULL; val = NULL;
} else { } else {
@ -596,7 +597,9 @@ static int init_report(const char *env)
} }
av_bprint_init(&filename, 0, 1); 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)) { if (!av_bprint_is_complete(&filename)) {
av_log(NULL, AV_LOG_ERROR, "Out of memory building report file name\n"); av_log(NULL, AV_LOG_ERROR, "Out of memory building report file name\n");
return AVERROR(ENOMEM); return AVERROR(ENOMEM);