[FFmpeg-devel] [PATCH] avformat/flacdec: Reorder allocations to avoid leak on error
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sun May 19 12:57:27 EEST 2024
Andreas Rheinhardt:
> Fixes Coverity issue #1591795.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> libavformat/flacdec.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c
> index 3d35da5fea..3c317acaee 100644
> --- a/libavformat/flacdec.c
> +++ b/libavformat/flacdec.c
> @@ -283,12 +283,6 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde
> if (avio_seek(s->pb, *ppos, SEEK_SET) < 0)
> return AV_NOPTS_VALUE;
>
> - parser = av_parser_init(st->codecpar->codec_id);
> - if (!parser){
> - return AV_NOPTS_VALUE;
> - }
> - parser->flags |= PARSER_FLAG_USE_CODEC_TS;
> -
> if (!flac->parser_dec) {
> flac->parser_dec = avcodec_alloc_context3(NULL);
> if (!flac->parser_dec)
> @@ -299,6 +293,11 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde
> return ret;
> }
>
> + parser = av_parser_init(st->codecpar->codec_id);
> + if (!parser)
> + return AV_NOPTS_VALUE;
> + parser->flags |= PARSER_FLAG_USE_CODEC_TS;
> +
> for (;;){
> uint8_t *data;
> int size;
Will apply this patch tomorrow unless there are objections.
- Andreas
More information about the ffmpeg-devel
mailing list