| Index: patches/to_upstream/11_mkv_buffer_overflow.patch
|
| ===================================================================
|
| --- patches/to_upstream/11_mkv_buffer_overflow.patch (revision 65184)
|
| +++ patches/to_upstream/11_mkv_buffer_overflow.patch (working copy)
|
| @@ -1,6 +1,6 @@
|
| -diff -rpu -N orig/libavformat/matroskadec.c ffmpeg-mt/libavformat/matroskadec.c
|
| ---- orig/libavformat/matroskadec.c 2010-10-11 16:55:30 -0700
|
| -+++ ffmpeg-mt/libavformat/matroskadec.c 2010-10-11 16:55:31 -0700
|
| +diff -wurp -N orig/libavformat/matroskadec.c ffmpeg-mt/libavformat/matroskadec.c
|
| +--- orig/libavformat/matroskadec.c 2010-11-04 08:08:48 -0700
|
| ++++ ffmpeg-mt/libavformat/matroskadec.c 2010-11-04 08:08:52 -0700
|
| @@ -34,13 +34,17 @@
|
| /* For ff_codec_get_id(). */
|
| #include "riff.h"
|
| @@ -68,7 +68,7 @@
|
| #if CONFIG_ZLIB
|
| case MATROSKA_TRACK_ENCODING_COMP_ZLIB: {
|
| z_stream zstream = {0};
|
| -@@ -1190,6 +1201,7 @@ static int matroska_read_header(AVFormat
|
| +@@ -1191,6 +1202,7 @@ static int matroska_read_header(AVFormat
|
| ebml_free(ebml_syntax, &ebml);
|
| return AVERROR_PATCHWELCOME;
|
| }
|
| @@ -76,7 +76,7 @@
|
| for (i = 0; i < FF_ARRAY_ELEMS(matroska_doctypes); i++)
|
| if (!strcmp(ebml.doctype, matroska_doctypes[i]))
|
| break;
|
| -@@ -1249,14 +1261,17 @@ static int matroska_read_header(AVFormat
|
| +@@ -1250,14 +1262,17 @@ static int matroska_read_header(AVFormat
|
| "Multiple combined encodings no supported");
|
| } else if (encodings_list->nb_elem == 1) {
|
| if (encodings[0].type ||
|
| @@ -98,7 +98,7 @@
|
| encodings[0].scope = 0;
|
| av_log(matroska->ctx, AV_LOG_ERROR,
|
| "Unsupported encoding type");
|
| -@@ -1381,11 +1396,13 @@ static int matroska_read_header(AVFormat
|
| +@@ -1382,11 +1397,13 @@ static int matroska_read_header(AVFormat
|
| st->codec->block_align = track->audio.coded_framesize;
|
| track->codec_priv.size = 0;
|
| } else {
|
| @@ -112,7 +112,7 @@
|
| st->codec->block_align = track->audio.sub_packet_size;
|
| extradata_offset = 78;
|
| }
|
| -@@ -1448,6 +1465,8 @@ static int matroska_read_header(AVFormat
|
| +@@ -1449,6 +1466,8 @@ static int matroska_read_header(AVFormat
|
| } else if (track->type == MATROSKA_TRACK_TYPE_AUDIO) {
|
| st->codec->codec_type = AVMEDIA_TYPE_AUDIO;
|
| st->codec->sample_rate = track->audio.out_samplerate;
|
| @@ -121,7 +121,7 @@
|
| st->codec->channels = track->audio.channels;
|
| if (st->codec->codec_id != CODEC_ID_AAC)
|
| st->need_parsing = AVSTREAM_PARSE_HEADERS;
|
| -@@ -1727,8 +1746,10 @@ static int matroska_parse_block(Matroska
|
| +@@ -1728,8 +1747,10 @@ static int matroska_parse_block(Matroska
|
| memcpy(track->audio.buf+sps*(h*x+((h+1)/2)*(y&1)+(y>>1)), data+x*sps, sps);
|
|
|
| if (++track->audio.sub_packet_cnt >= h) {
|
|
|