From patchwork Fri Nov 20 07:19:14 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 23951 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a25:c00a:0:0:0:0:0 with SMTP id c10csp952581ybf; Thu, 19 Nov 2020 23:31:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJwm9ty2woRUD+ZW5IehnGDJLgZ2sYZnVkHVy4P4oB7BS+FhBILvezNQO5JzOuFTQ/DCuDSu X-Received: by 2002:adf:8521:: with SMTP id 30mr14428985wrh.265.1605857512052; Thu, 19 Nov 2020 23:31:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605857512; cv=none; d=google.com; s=arc-20160816; b=0xpbR0/vmhmG7yehHIHBa62d1C0tN+NDVmerkxlLGf0NT2ibyGVprpsGC87L/gbpkH j0hEZTH0JjWEUgMe2UM+jRi9gNvWc4T3N+98N+LEchGa38GdKNElYoOtQ5V04/4YAWoh CVXWOVLfv11EhdQGI2V+l7LVlimd5bBA0VxyU8gmqIrj27yyW3er28liefou4V7oX/1C ZBzlbE5DDEj4pcSxz9CErSuy+M/cswWxHKElMkqwZEs0x7/xSjVDzUuwdKkSXKvSuSg4 emNaD9sYKcmrU4Qxa/L13Abrw+XGDiV0xC9qOjbHXMVyJ2dp95AoizXXbA8aO5XK8zU2 AzXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=oNZhG91+a9w6HMlPecdD4xwyuC3o2CTlWdV1U+IAu/E=; b=HXq28Hh9oAqcF899yMhTL2UeKUsu8MTi9oscyAXMt9jKTLWWYPpOqRyh13rAmkKmAi +F3Tg7HyzCJIsaQnZt2u0pmnTZ8dA0WjfH3O6bMcYIpqe+40t3fUkUDgwY1y8WPyAo1/ vzkWvyvaUpyET03hnKU9jy/aC5SOPVc20+xYn678blYtxbyi7wAlJGcXl6qj3+D16rzE OZP8k7Ye2Bhjgq0vWuFk9q1s96kTn0CzPv61kGbUa52IS4mQhrOEX1be/PIE+34QXGcP MTSIENbH6q0sFV74Ga3ius4mN7k3Fw2tgdZdv1XUSUQPFWgA3BH+Bkx5UVbVYNUAKXXD zCzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=jSjScmJo; 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=QUARANTINE 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 n13si1893610wrq.468.2020.11.19.23.31.51; Thu, 19 Nov 2020 23:31:52 -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=jSjScmJo; 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=QUARANTINE 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 2438968B9CE; Fri, 20 Nov 2020 09:25:05 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f67.google.com (mail-ej1-f67.google.com [209.85.218.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 33AAB68BA74 for ; Fri, 20 Nov 2020 09:24:52 +0200 (EET) Received: by mail-ej1-f67.google.com with SMTP id f20so11491393ejz.4 for ; Thu, 19 Nov 2020 23:24:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=uhY475YTarCSb7i4v9IBQ1qRt7Xat6ivhYCZpmqev1Y=; b=jSjScmJoyDYc7XxVYAdf8pPhWmtSmx1mDY3Ui4bqxhwMJnvqJffFkZW9i6VQnS5Z9w pWfplQA5L7Vc2Ab0kbExcd3Ze7UzFxbBMnE1lLRMyHpSimao8hwy+XLPYlJzO9r/L1um Egl6GRuiDq62KmjmNY2jadvWGtNIuIw5RKNU/rCvPT7wl2rQe3HmQ1DQEixMzNCi17LX ciEJR3EcaDHTgDUxQcyYZ803EY68XVgbnngvLEqmbdLp/OkXqU9TYhZDO8EVw5TDwCbl SsZI8GEB/2i3CZHfdG04mbzhi3xZSZb8175DFZmjNzH9u1HjSOonOFyZh3JPzN8+YwDL GYRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=uhY475YTarCSb7i4v9IBQ1qRt7Xat6ivhYCZpmqev1Y=; b=dWDEMmk9WhQyEzGdRYBnpU9I1cK0mQRAziUP1M9vGV7d1KHHR/6DsSrjhN62Re16Im 2807dzV7XoLzbhlPqxckOrOL7MQlr66I6LkdydjdshdEBVX/wl3OhyfXj6Lj/0fQRT0S Lv1x0I0NkAQ2CTCM8I6GSDTdd1haYQL8Ju5CLx8peHqSsrtBoxt3P8F75Z9Pk24qCJff SphmNAU673imB9s1u+KL8JSEQnmMkgVKDbvY/heB4tXHypMzeCePeijwWaMRVGxQ9CVq IjF9Jp5dQFVLId6OdIGGjD2beIMuOwxz9IZJ+VH7rjttYuS/5/GfUZ0M6BjRoOTojWZF 2Lvg== X-Gm-Message-State: AOAM533G+hLEUG50bfOcpntuhB9qCucX4l67HhhvlHxmAFc6tngJUbiN MnT2xHeDftQm5YTTOD6yisgTKwA4jIQ5XA== X-Received: by 2002:a17:907:94c6:: with SMTP id dn6mr30639093ejc.13.1605857091381; Thu, 19 Nov 2020 23:24:51 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id lz27sm779419ejb.39.2020.11.19.23.24.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Nov 2020 23:24:50 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 20 Nov 2020 08:19:14 +0100 Message-Id: <20201120072116.818090-42-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201120072116.818090-1-andreas.rheinhardt@gmail.com> References: <20201120072116.818090-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 041/162] avcodec/motionpixels: Be more strict when parsing Huffman trees 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Kruu7lgPe73D Content-Length: 1694 This ensures that the number of leafs in the Huffman tree equals the number it is supposed to be and therefore ensures that the VLC tree is complete, allowing us to remove checks. Signed-off-by: Andreas Rheinhardt --- An alternative would be to use current_codes_count to initialize the VLC. libavcodec/motionpixels.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/motionpixels.c b/libavcodec/motionpixels.c index 0bf153f883..4b9830fbed 100644 --- a/libavcodec/motionpixels.c +++ b/libavcodec/motionpixels.c @@ -133,7 +133,7 @@ static int mp_get_code(MotionPixelsContext *mp, GetBitContext *gb, int size, int if (mp_get_code(mp, gb, size, code + 1) < 0) return AVERROR_INVALIDDATA; } - if (mp->current_codes_count >= MAX_HUFF_CODES) { + if (mp->current_codes_count >= mp->codes_count) { av_log(mp->avctx, AV_LOG_ERROR, "too many codes\n"); return AVERROR_INVALIDDATA; }