From patchwork Sun Nov 26 17:03:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 6366 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp710934jah; Sun, 26 Nov 2017 09:03:38 -0800 (PST) X-Google-Smtp-Source: AGs4zMYylGfXnn3Y7NatmQn1Q+o7QNhESg4FN1q+ZqpefZiFtinFnaNazC/Kn3DsYIYwdvQ122S0 X-Received: by 10.223.133.198 with SMTP id 6mr21333847wru.199.1511715818293; Sun, 26 Nov 2017 09:03:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511715818; cv=none; d=google.com; s=arc-20160816; b=sMav2uaTJD5SbFamTMAr6bzbiGa3gA10qr+CpfOflpb1B4JEd04OpUUh+Bj6wXE+eI WQIo3T1t/0ruGRN/r82YsCdyP71Wi9hgnmzoBXpx85a13n8JbZ/0K7Xt5VJXXtOcrTpF 7HqhKqZKoLcEZS7j5jEzTlN4UDOg/xpky2p4THIN1mRUmeUKIOolU/iZn2f8ZGLOwWoG d4TdVLKA9gd+5zhO8y5rgU5HLoCGQuZ3yMSJnK1pZxz/BSg5NcnJqe/8oNUEswjAVxPs ++aR9lzwtGesxSHTvh+AChJJhXYjaHKqZOXRb9CTc5cDbI0USmAz5dswdUmDQZ7jIDCm IMWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=ShJm4pa32FKNoyako70e3ks7vPpEAOvaWpA95ub5mFQ=; b=ZkZxfPpMabWCUESeTNrGLflhPuBNrRHhtdcJsJnCdGsBP2txUmVPSXxy+IFUNORfMM hJxdD07X36Bx43+FrUADaMYk9tJxznqLDzEGShvQ98a9t8MbUwBe6a54xGNmQBCYxkyF 3iZ18f41EHcIMvIyES/SECKAiV6DSE+symADeSbU1y0u31XmoBNgmjdwJS267OrE6GHO Vivr8vF7Z/x1zFM3QyxWkSDL3LfDYhNPOGMQHlyt91lQ3O5YwGCrqlr7emuC0kj/jvhr iU0YI5gkIkiwQfTQOVL6i1ce2Ks6yh/elkX3odnNe1Dm4pqkyL+StIdaOKAzVFkgnlKs ybMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=aKGT0cZC; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 72si18554367wrc.259.2017.11.26.09.03.37; Sun, 26 Nov 2017 09:03:38 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=aKGT0cZC; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 136ED68A351; Sun, 26 Nov 2017 19:03:34 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E5AD668A134 for ; Sun, 26 Nov 2017 19:03:27 +0200 (EET) Received: by mail-qk0-f196.google.com with SMTP id p19so29694576qke.2 for ; Sun, 26 Nov 2017 09:03:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=xsTwoJm6Ejhl2Xl+uRU7abcio8fvy2zQZ1v+NEHm/Fs=; b=aKGT0cZCH/yScJh6J2CJpQhXONlg7m+Ae7BY3PBiv3Htx/6D5nc2U3+sXgzilm9k+j 9IpilIId8u5GGQsxUvahBfasQRjKEhDdwYlSdBgBRJ3riVS6UdtzHs0jjeE9JWj0qCUU E2BEGVpfQmOy/Ov7fY6rlWK2+37U//XL6r5I2rxisooMPCDYcwhkDxd4Funi3oK4PFDs V2VaoqNpRHexa6zTtAUFxxTgTf4+xLBGRDK9zKdTOSWougBBdZtXjoZ4Fl6oHyMsLt6j ls62fMTJsqeQnwYftfLMkxoUYbrJ3DGfgvsinKxJlkyWTFa1iXol7CeQWC42jF9I4b4I FSqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=xsTwoJm6Ejhl2Xl+uRU7abcio8fvy2zQZ1v+NEHm/Fs=; b=ii9SxsPFJE+SKwqUVOJ6iiWbOAsUUiDRH+4l0Tl9jqwZdCjW4OhFJZ++1jIPKQZXhb 9PBZ0f5ykrNJu9+l1SOU5aznoCKI7K5DbMWABZ3aDSEF9C4c9RGEFemf/lW/ax2Fm1xw Tie86gLdkoJ+8GPxWvRxzY+u+6b4q0af8lowaz6vEq5D1EAlIO1Z4wtBrtmC5tijlfyh TtcxwG40wiUJWzc7Rmge+4otlE9yIs34uBf67lQAv2gINsB1XzZZx3IbXhJnTaROQlEi kkJOllGDo87BLCbH5L3fssKDa3oGo9Q3W0ZtJAUU+QnyhiQYs/EMjfrHUIj5soyFEx41 GUTw== X-Gm-Message-State: AJaThX64GRxyGzega9RNKQW6lGjb+05H8l9+WMTe+EJWLdhT9OMqQiJM tr9d4V/G9pLSn0tEqC8ejOz6fQ== X-Received: by 10.55.73.87 with SMTP id w84mr42447549qka.215.1511715808464; Sun, 26 Nov 2017 09:03:28 -0800 (PST) Received: from localhost.localdomain ([181.231.59.220]) by smtp.gmail.com with ESMTPSA id d43sm10478942qta.93.2017.11.26.09.03.27 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 26 Nov 2017 09:03:27 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 26 Nov 2017 14:03:09 -0300 Message-Id: <20171126170309.6532-1-jamrial@gmail.com> X-Mailer: git-send-email 2.15.0 Subject: [FFmpeg-devel] [PATCH] avformat/matroskaenc: actually enforce the stream limit X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Prevents out of array accesses. Adressess ticket #6873 Signed-off-by: James Almer --- libavformat/matroskaenc.c | 7 +++++++ 1 file changed, 7 insertions(+) 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 ||