[FFmpeg-devel] [PATCH V2] libavformat/flacenc: reject too big picture blocks

Michael Niedermayer michael at niedermayer.cc
Wed Oct 30 13:51:28 EET 2019


On Tue, Oct 29, 2019 at 02:42:47PM +0100, Mattias Wadman wrote:
> A too big picture will case the muxer to write a truncated block size (uint24)
> causing the output file to be corrupt.
> 
> How to reproduce:
> 
> Write a file with truncated block size:
> ffmpeg -y -f lavfi -i sine -f lavfi -i color=red:size=2400x2400 -map
> 0:a:0 -map 1:v:0 -c:v:0 bmp -disposition:1 attached_pic -t 1 test.flac
> 
> Try to decode:
> ffmpeg -i test.flac test.wav
> 
> Signed-off-by: Mattias Wadman <mattias.wadman at gmail.com>
> ---
>  libavformat/flacenc.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/libavformat/flacenc.c b/libavformat/flacenc.c
> index 93cc79bbe0..7b51c11404 100644
> --- a/libavformat/flacenc.c
> +++ b/libavformat/flacenc.c
> @@ -93,7 +93,7 @@ static int flac_write_picture(struct AVFormatContext
> *s, AVPacket *pkt)
>      AVDictionaryEntry *e;
>      const char *mimetype = NULL, *desc = "";
>      const AVStream *st = s->streams[pkt->stream_index];
> -    int i, mimelen, desclen, type = 0;
> +    int i, mimelen, desclen, type = 0, blocklen;
> 
>      if (!pkt->data)
>          return 0;
> @@ -140,8 +140,14 @@ static int flac_write_picture(struct
> AVFormatContext *s, AVPacket *pkt)
>          desc = e->value;

Applying: libavformat/flacenc: reject too big picture blocks
error: corrupt patch at line 10

probably line/word wrap

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If you fake or manipulate statistics in a paper in physics you will never
get a job again.
If you fake or manipulate statistics in a paper in medicin you will get
a job for life at the pharma industry.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20191030/b49ed605/attachment.sig>


More information about the ffmpeg-devel mailing list