diff mbox

[FFmpeg-devel] avformat/matroskaenc: actually enforce the stream limit

Message ID 20171126170309.6532-1-jamrial@gmail.com
State Accepted
Commit 9d464dc3fccb53f1e7c83e3453084c1a7fb90503
Headers show

Commit Message

James Almer Nov. 26, 2017, 5:03 p.m. UTC
Prevents out of array accesses. Adressess ticket #6873

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavformat/matroskaenc.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Michael Niedermayer Nov. 26, 2017, 11:02 p.m. UTC | #1
On Sun, Nov 26, 2017 at 02:03:09PM -0300, James Almer wrote:
> Prevents out of array accesses. Adressess ticket #6873
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavformat/matroskaenc.c | 7 +++++++
>  1 file changed, 7 insertions(+)

LGTM

thx

[...]
diff mbox

Patch

diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index dad6d6c93f..06126781f8 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -1859,6 +1859,13 @@  static int mkv_write_header(AVFormatContext *s)
         av_dict_get(s->metadata, "alpha_mode", NULL, 0))
         version = 4;
 
+    if (s->nb_streams > MAX_TRACKS) {
+        av_log(s, AV_LOG_ERROR,
+               "At most %d streams are supported for muxing in Matroska\n",
+               MAX_TRACKS);
+        return AVERROR(EINVAL);
+    }
+
     for (i = 0; i < s->nb_streams; i++) {
         if (s->streams[i]->codecpar->codec_id == AV_CODEC_ID_ATRAC3 ||
             s->streams[i]->codecpar->codec_id == AV_CODEC_ID_COOK ||