From patchwork Sun Dec 22 15:26:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhong Li X-Patchwork-Id: 16925 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 80F0144A53D for ; Sun, 22 Dec 2019 17:27:13 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5E00F68A03F; Sun, 22 Dec 2019 17:27:13 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from m15-113.126.com (m15-113.126.com [220.181.15.113]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2AEAC6882D6 for ; Sun, 22 Dec 2019 17:27:05 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-Id; bh=POd3iCWukWA/0LtWFT H60q+FtigNhIjd9v43XmtTiKQ=; b=bx6ewPh8QXxcj+blU66uGdH0zVhikxmfPS A+cseMsBAj/1wdj4VKX8s/7LwvInz42kaD65Kg/lxsmWRmeVUZ5iva8xa1me9UU5 SL8Su+1PlNJYaIwDN9YSk+CFYtehsgUqhAxZlN3+5mzMwfZD7txic3lEleCsHNLE gm8ZfM8Ak= Received: from localhost.localdomain (unknown [218.108.145.242]) by smtp3 (Coremail) with SMTP id DcmowABn3cxEi_9dlaePAg--.15907S2; Sun, 22 Dec 2019 23:27:02 +0800 (CST) From: Zhong Li To: ffmpeg-devel@ffmpeg.org Date: Sun, 22 Dec 2019 15:26:58 +0000 Message-Id: <1577028418-15051-1-git-send-email-zhongli_dev@126.com> X-Mailer: git-send-email 1.8.3.1 X-CM-TRANSID: DcmowABn3cxEi_9dlaePAg--.15907S2 X-Coremail-Antispam: 1Uf129KBjvdXoW7GF4UJF1DJF1DZFW8Gry8Krg_yoWkGrb_AF 18JFWkGFy3Ca1xAr47Xry5try8t39FvF4kXwn3Ar47XrWvyF4Fqrn7KrZYgw4fX398X3s3 Kw4rtFyxGFn09jkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU12NtDUUUUU== X-Originating-IP: [218.108.145.242] X-CM-SenderInfo: x2kr0wxolbvvby6rjloofrz/1tbiVwaTwFpD-E1nOgAAs3 Subject: [FFmpeg-devel] [PATCH V2] lavc/midivid: FIX CID 1456088 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 Cc: Zhong Li MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Zhong Li --- libavcodec/midivid.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavcodec/midivid.c b/libavcodec/midivid.c index 38465c5..3dac3f1 100644 --- a/libavcodec/midivid.c +++ b/libavcodec/midivid.c @@ -63,17 +63,20 @@ static int decode_mvdv(MidiVidContext *s, AVCodecContext *avctx, AVFrame *frame) if (intra_flag) { nb_blocks = (avctx->width / 2) * (avctx->height / 2); } else { - int skip_linesize; + int ret, skip_linesize; nb_blocks = bytestream2_get_le32(gb); skip_linesize = avctx->width >> 1; mask_start = gb->buffer_start + bytestream2_tell(gb); mask_size = (avctx->width >> 5) * (avctx->height >> 2); - if (bytestream2_get_bytes_left(gb) < mask_size) + ret = bytestream2_get_bytes_left(gb); + if (ret < mask_size) return AVERROR_INVALIDDATA; - init_get_bits8(&mask, mask_start, mask_size); + ret = init_get_bits8(&mask, mask_start, mask_size); + if (ret < 0) + return AVERROR_INVALIDDATA; bytestream2_skip(gb, mask_size); skip = s->skip;