Merge remote-tracking branch 'cigaes/master'

* cigaes/master:
  lavf/tee: fix leak of bsfs array.
  lavf/tee: fix leak of select option.
  lavf/tee: fix leak of strdup/strtoked buffer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-10-21 23:50:04 +02:00
commit 23c0698499
1 changed files with 5 additions and 3 deletions

View File

@ -102,10 +102,10 @@ fail:
static int parse_bsfs(void *log_ctx, const char *bsfs_spec,
AVBitStreamFilterContext **bsfs)
{
char *bsf_name, *buf, *saveptr;
char *bsf_name, *buf, *dup, *saveptr;
int ret = 0;
if (!(buf = av_strdup(bsfs_spec)))
if (!(dup = buf = av_strdup(bsfs_spec)))
return AVERROR(ENOMEM);
while (bsf_name = av_strtok(buf, ",", &saveptr)) {
@ -128,7 +128,7 @@ static int parse_bsfs(void *log_ctx, const char *bsfs_spec,
}
end:
av_free(buf);
av_free(dup);
return ret;
}
@ -280,6 +280,7 @@ static int open_slave(AVFormatContext *avf, char *slave, TeeSlave *tee_slave)
end:
av_free(format);
av_free(select);
av_dict_free(&options);
return ret;
}
@ -302,6 +303,7 @@ static void close_slaves(AVFormatContext *avf)
}
}
av_freep(&tee->slaves[i].stream_map);
av_freep(&tee->slaves[i].bsfs);
avio_close(avf2->pb);
avf2->pb = NULL;