From patchwork Fri Sep 3 18:39:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 29985 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp1549615iov; Fri, 3 Sep 2021 11:40:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz8b8j+KBMQn2pL4CdK1wWWoNgZYNCBYRlAj8VQSiJiJjgqhDot/rskdFzmrUSOX4cVIXF6 X-Received: by 2002:a50:9b06:: with SMTP id o6mr405210edi.284.1630694424831; Fri, 03 Sep 2021 11:40:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630694424; cv=none; d=google.com; s=arc-20160816; b=jbpV0WWRykZf1H01f6A9vPPtH0Uq01SC+WsT4XAFNkVpq+HpokbQLdKAsUUPv2crV4 44m0L9PuQKMb4rKSNSfNVNnGurJfG9nFTjxcb+htfwNME51fU7lRhbfOYupKPIKaD6HD sfowN2FrgAP0DcLgsvBsMQtxsNegqcWrY2txi43nrgF0wkULQklZM3RR61tZHFMwCQr6 9wv2iNq9TEi9bXiHhDBIACoC1ZHiAKncsfQBYY5L6uOKRHwr1xg2dlnFYNZVuURfZSsw m3Bb9nrQxjZDLRgQHPVrLXWA0GO7DnSDzayCl3DYXKxDr958MrchRTUXKQ1+fluwdnZQ UOYg== 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:delivered-to; bh=M+3WMllH3mkKv6n+NAZ7ZZT83duhoeTT+0KIYv1OrHk=; b=LsZuze6rSB/Ozk6bEYRu1l9uh7tbP7CQcKCmirmXrtdaKJg0I7//jWhAUQCvAlo40U oiLpOjBE0S2IHbtpeqcmrHEPYfom9troXE/IstWiIL64KSmMYUocMX9kuitHUkVaUIa/ BD8El48uugd7YigXOsuvc9b8Vs3mE2V/PRX0WmiUW3Y7i3EdscvX+sYgmKlViwydovER iyb8jFa8mhF39/jMN42qw4XA9b6AfzUBlFUv5V8KwRFjw0V95dCx7pWS5t2QRLyJZONj GRweQY9tWA0pkSz7c4HvVnW1On0bRigqE3KHJhlvvFpXjNXrV8XIC07aGO7EMNqMgBJe +8xQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id n25si320998edr.243.2021.09.03.11.40.24; Fri, 03 Sep 2021 11:40:24 -0700 (PDT) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E31DA68009F; Fri, 3 Sep 2021 21:40:19 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from vie01a-dmta-pe03-2.mx.upcmail.net (vie01a-dmta-pe03-2.mx.upcmail.net [62.179.121.161]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8D3FE689739 for ; Fri, 3 Sep 2021 21:40:13 +0300 (EEST) Received: from [172.31.216.235] (helo=vie01a-pemc-psmtp-pe12.mail.upcmail.net) by vie01a-dmta-pe03.mx.upcmail.net with esmtp (Exim 4.92) (envelope-from ) id 1mME6n-002QX9-0B for ffmpeg-devel@ffmpeg.org; Fri, 03 Sep 2021 20:40:13 +0200 Received: from localhost ([213.47.68.29]) by vie01a-pemc-psmtp-pe12.mail.upcmail.net with ESMTP id ME5pmg0MeljeHME5pm8BMp; Fri, 03 Sep 2021 20:39:13 +0200 X-Env-Mailfrom: michael@niedermayer.cc X-Env-Rcptto: ffmpeg-devel@ffmpeg.org X-SourceIP: 213.47.68.29 X-CNFS-Analysis: v=2.3 cv=BoHjPrf5 c=1 sm=1 tr=0 a=2hcxjKEKjp0CzLx6oWAm4g==:117 a=2hcxjKEKjp0CzLx6oWAm4g==:17 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=GEAsPZ9sns4A:10 a=ZZnuYtJkoWoA:10 a=nZOtpAppAAAA:20 a=tjhOKfsWQ7_khe2PlkEA:9 a=1fhp2MxaeJtTNGEnv6mo:22 From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Fri, 3 Sep 2021 20:39:10 +0200 Message-Id: <20210903183913.15255-1-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 X-CMAE-Envelope: MS4wfG2vdnhqwNSVkaafChlL/TVtTG5n6TbTX+35wVzJ2sStFp+vdRYFux39nCvvrLxQfKq+NW7bKVnXugTyjYXJNDTOjLN6zkAIoMo3kOlqmPqJMI93ZEJW FW3ZznaKsmyasHHaBPzV7vMxNOLLj/0X09xxeQF4nQuR/qZEi3teP+fJ Subject: [FFmpeg-devel] [PATCH 1/4] avcodec/utils: ARGO writes 4x4 blocks without regard to the image dimensions X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: zChg8V1E+B5T Fixes: out of array access Fixes: 37197/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ARGO_fuzzer-5877046382297088 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/utils.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index cfc07cbcb8..4f9601b12d 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -298,6 +298,12 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, h_align = 4; } break; + case AV_PIX_FMT_BGR0: + if (s->codec_id == AV_CODEC_ID_ARGO) { + w_align = 4; + h_align = 4; + } + break; default: break; } From patchwork Fri Sep 3 18:39:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 29986 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp1554462iov; Fri, 3 Sep 2021 11:46:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyWCxS08f5M5nCFzXauHkjeqxA/vwntlJ5Xaa6iVD1u6FKtbinSbYGaLs4cLsdS5WEMs9b+ X-Received: by 2002:a17:906:3708:: with SMTP id d8mr326185ejc.310.1630694787230; Fri, 03 Sep 2021 11:46:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630694787; cv=none; d=google.com; s=arc-20160816; b=TobJVTw/KWZAVpx8KKUWa65zLrCRR01AjNOW1VFqaVmFZj2HXAQ9TlprLzedqYJa6P 86KLQ6rYpX41yKqJSsz8b5d3Lz5I3Y0obD3mEiJS1BYUJb4ZSPLT9RohVaGLeoF6OS2f XrWkwo8ja0Yrb2B2lprL4x0koz9kyPmraYmu22zekOjBceLLpLvY7VTDr/tIyoJV1n/p IhVLZ5tFNIqbfmANAwmvNKLnIAdFMIxnKbRGPqHdMw7nSciu8Q+qvbviIyd3FDKOKoY2 1/9J2xnmiGuots54rHtuO7JC/wV3ddvbU7tAffInm/Wxhuobdg7DAF742KItNdnWWdQ+ Ktag== 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:references:in-reply-to:message-id:date :to:from:delivered-to; bh=j0xZqJOnSIYqgdwABAWIPqr5kEjMAKey646125ywfFw=; b=d3mmn+ovs43thlYjP9uwb+oU6ybrrRYwtkbPGKjCJlIzGn9jETycqGy6ezXBHHtDeE xwCXXv0VQscBZOHfdDJ7YvcXW05j48NTjZA+sIIomp0eqmq8HibpOcXLcg5GY+kgVKmJ B24B0ZJ1jx+BbriCdB1gJBs8q1f+SEIYjIJqo1IOAUSMvOOhoyLhzZpkcpBA9ZtDM+1s gY5bGOVIkU42jNIlf1bcDYbZnox8riroRmkAy6UUFQwCpOXhiZ07s8Q+5mpGFnJBFoXI mVhsn/uX8Fyh1/Zk9R+bQ038BFERKQ5zClGEYjzCAtS7xhYqgkDzHPmvL1q3nW/qvDAn NicA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dm18si34453ejc.257.2021.09.03.11.46.26; Fri, 03 Sep 2021 11:46:27 -0700 (PDT) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AA36968A066; Fri, 3 Sep 2021 21:46:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from vie01a-dmta-pe05-2.mx.upcmail.net (vie01a-dmta-pe05-2.mx.upcmail.net [84.116.36.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 81F8D687F99 for ; Fri, 3 Sep 2021 21:46:17 +0300 (EEST) Received: from [172.31.216.235] (helo=vie01a-pemc-psmtp-pe12.mail.upcmail.net) by vie01a-dmta-pe05.mx.upcmail.net with esmtp (Exim 4.92) (envelope-from ) id 1mME6n-0056Ep-0A for ffmpeg-devel@ffmpeg.org; Fri, 03 Sep 2021 20:40:13 +0200 Received: from localhost ([213.47.68.29]) by vie01a-pemc-psmtp-pe12.mail.upcmail.net with ESMTP id ME5pmg0O1ljeHME5pm8BOB; Fri, 03 Sep 2021 20:39:13 +0200 X-Env-Mailfrom: michael@niedermayer.cc X-Env-Rcptto: ffmpeg-devel@ffmpeg.org X-SourceIP: 213.47.68.29 X-CNFS-Analysis: v=2.3 cv=BoHjPrf5 c=1 sm=1 tr=0 a=2hcxjKEKjp0CzLx6oWAm4g==:117 a=2hcxjKEKjp0CzLx6oWAm4g==:17 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=GEAsPZ9sns4A:10 a=ZZnuYtJkoWoA:10 a=nZOtpAppAAAA:20 a=AVFMJwWia1GJS5pN9hgA:9 a=1fhp2MxaeJtTNGEnv6mo:22 From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Fri, 3 Sep 2021 20:39:11 +0200 Message-Id: <20210903183913.15255-2-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210903183913.15255-1-michael@niedermayer.cc> References: <20210903183913.15255-1-michael@niedermayer.cc> X-CMAE-Envelope: MS4wfG2vdnhqwNSVkaafChlL/TVtTG5n6TbTX+35wVzJ2sStFp+vdRYFux39nCvvrLxQfKq+NW7bKVnXugTyjYXJNDTOjLN6zkAIoMo3kOlqmPqJMI93ZEJW FW3ZznaKsmyasHHaBPzV7vMxNOLLj/0X09xxeQF4nQuR/qZEi3teP+fJ Subject: [FFmpeg-devel] [PATCH 2/4] avcodec/argo: Move U, fix shift X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: VWeWHxoQ4LKW Fixes: left shift of 255 by 24 places cannot be represented in type 'int' Fixes: 37249/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ARGO_fuzzer-5754862984888320 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/argo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/argo.c b/libavcodec/argo.c index df9aab92a8..66f3d96480 100644 --- a/libavcodec/argo.c +++ b/libavcodec/argo.c @@ -58,7 +58,7 @@ static int decode_pal8(AVCodecContext *avctx, uint32_t *pal) return AVERROR_INVALIDDATA; for (int i = 0; i < count; i++) - pal[start + i] = (0xFF << 24U) | bytestream2_get_be24u(gb); + pal[start + i] = (0xFFU << 24) | bytestream2_get_be24u(gb); return 0; } From patchwork Fri Sep 3 18:39:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 29984 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp1549741iov; Fri, 3 Sep 2021 11:40:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxvhOWyUKuGvHKhpHaxY/JLCXs+2BbivJsTU2+Qc72Lo7CXWPjG1NMQb4v2Ue3S+6uM5kg7 X-Received: by 2002:a05:6402:4247:: with SMTP id g7mr360395edb.287.1630694435596; Fri, 03 Sep 2021 11:40:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630694435; cv=none; d=google.com; s=arc-20160816; b=Oe6WrNtjl6ClekIL/kxwyoKefttGkOtmcAE0Ut4VOTwPpTeq9qiSzVIgk0n8Xxc1xe PeK8XTA0kAJEAj+jvyDHoXBrl3uU9CA96Q26nptQRbga77b4Elhl4BIe5/0VfIr7EK+1 G9PL0ryPa1XvunfCI4DzmbetymdZoPH+V/eRywj+oxR4+xw4NKRTHACQnMvUFr6lX5ft hAqAzOlQufAJ1BZzmJKQI/huMdklwVcxyW0iuSOd5N8HVBHDTMUSk47JWWy5MRYAT9c2 QB1F2gj9yrHDvR9OT+1ROlhQH7t6pwlre+yaygMHfV4llfM6anUkHJkmHxWDf6Tv0gD8 mDcg== 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:references:in-reply-to:message-id:date :to:from:delivered-to; bh=PmxusA6aTvUgvHQioLH59CPKqnDbeKSeaJji893aYzo=; b=YgBsdng2INbUsLVd/mpws9mcVmUgyojgeGg12aDAiEwbqGQyHp7nDOEZ/acLbK5LjV mXOAb2VxrYZtBqzPnwGyCZ3I7UvsmGw8WNXiAVKtlEUpyuyyVDJjCMqDaoCL42/YAcM7 mfZhdLPjYlloqO5EMvoGc9b8m0gK9t883qAUvn2Ba21T7o4cu+2YqfFThdLlmIfDRa29 zAq8zjFX9bo7A+6aANrPOCmOINQTcl2qE8Wgn0eE/UNSVGKJMyZSs+1Hwi2zsrntCgTG IZNWiJTkxrqJ8CMWgPhplThebrbEBRgUE0CCbOhcukzx2Y34fKrab5RMqc7ueywSN29h tytQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id be5si275651edb.165.2021.09.03.11.40.34; Fri, 03 Sep 2021 11:40:35 -0700 (PDT) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 24410689739; Fri, 3 Sep 2021 21:40:21 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from vie01a-dmta-pe03-2.mx.upcmail.net (vie01a-dmta-pe03-2.mx.upcmail.net [62.179.121.161]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3D93C6898DF for ; Fri, 3 Sep 2021 21:40:14 +0300 (EEST) Received: from [172.31.216.235] (helo=vie01a-pemc-psmtp-pe12.mail.upcmail.net) by vie01a-dmta-pe03.mx.upcmail.net with esmtp (Exim 4.92) (envelope-from ) id 1mME6o-002Qv2-0f for ffmpeg-devel@ffmpeg.org; Fri, 03 Sep 2021 20:40:14 +0200 Received: from localhost ([213.47.68.29]) by vie01a-pemc-psmtp-pe12.mail.upcmail.net with ESMTP id ME5pmg0OUljeHME5qm8BON; Fri, 03 Sep 2021 20:39:14 +0200 X-Env-Mailfrom: michael@niedermayer.cc X-Env-Rcptto: ffmpeg-devel@ffmpeg.org X-SourceIP: 213.47.68.29 X-CNFS-Analysis: v=2.3 cv=BoHjPrf5 c=1 sm=1 tr=0 a=2hcxjKEKjp0CzLx6oWAm4g==:117 a=2hcxjKEKjp0CzLx6oWAm4g==:17 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=GEAsPZ9sns4A:10 a=ZZnuYtJkoWoA:10 a=nZOtpAppAAAA:20 a=S3tN88Qzg1Iq7tDoSIEA:9 a=1fhp2MxaeJtTNGEnv6mo:22 From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Fri, 3 Sep 2021 20:39:12 +0200 Message-Id: <20210903183913.15255-3-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210903183913.15255-1-michael@niedermayer.cc> References: <20210903183913.15255-1-michael@niedermayer.cc> X-CMAE-Envelope: MS4wfNa+EP0QAWkJEGgxwcDwEfWuN/VwCTQ/sGa5EW15LLjaCgbaRTTifUY+e9ogCbY3JY+5UMdpJR4xcWzWQw6dqL+WuOgA5DUmKq5O664PvYDUAWJ7E+ou 5pVr23z34WYrXPHgILlJrvY9wlpVpVIxZjnPDs+NnEk3ZFtRMJ3nB1ti Subject: [FFmpeg-devel] [PATCH 3/4] avcodec/mpegutils: consolidate single byte av_log() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: mXl+k4JyToOm Fixes: Timeout (56sec -> 15sec) Fixes: 37141/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG4_fuzzer-6192122867875840 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/mpegutils.c | 56 ++++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/libavcodec/mpegutils.c b/libavcodec/mpegutils.c index e5105ecc58..e91c554781 100644 --- a/libavcodec/mpegutils.c +++ b/libavcodec/mpegutils.c @@ -187,7 +187,6 @@ void ff_print_debug_info2(AVCodecContext *avctx, AVFrame *pict, uint8_t *mbskip_ av_freep(&mvs); } - /* TODO: export all the following to make them accessible for users (and filters) */ if (avctx->hwaccel || !mbtype_table) return; @@ -195,71 +194,80 @@ void ff_print_debug_info2(AVCodecContext *avctx, AVFrame *pict, uint8_t *mbskip_ if (avctx->debug & (FF_DEBUG_SKIP | FF_DEBUG_QP | FF_DEBUG_MB_TYPE)) { int x,y; +#define MB_STRING_SIZE 6 + char *mbstring = av_malloc(MB_STRING_SIZE * mb_width + 1); + if (!mbstring) + return; av_log(avctx, AV_LOG_DEBUG, "New frame, type: %c\n", av_get_picture_type_char(pict->pict_type)); for (y = 0; y < mb_height; y++) { + char *mbs = mbstring; for (x = 0; x < mb_width; x++) { + av_assert0(mbs - mbstring <= MB_STRING_SIZE * x); if (avctx->debug & FF_DEBUG_SKIP) { int count = mbskip_table ? mbskip_table[x + y * mb_stride] : 0; if (count > 9) count = 9; - av_log(avctx, AV_LOG_DEBUG, "%1d", count); + *mbs++ = '0' + count; } if (avctx->debug & FF_DEBUG_QP) { - av_log(avctx, AV_LOG_DEBUG, "%2d", - qscale_table[x + y * mb_stride]); + int q = qscale_table[x + y * mb_stride]; + *mbs++ = '0' + q/10; + *mbs++ = '0' + q%10; } if (avctx->debug & FF_DEBUG_MB_TYPE) { int mb_type = mbtype_table[x + y * mb_stride]; // Type & MV direction if (IS_PCM(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "P"); + *mbs++ = 'P'; else if (IS_INTRA(mb_type) && IS_ACPRED(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "A"); + *mbs++ = 'A'; else if (IS_INTRA4x4(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "i"); + *mbs++ = 'i'; else if (IS_INTRA16x16(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "I"); + *mbs++ = 'I'; else if (IS_DIRECT(mb_type) && IS_SKIP(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "d"); + *mbs++ = 'd'; else if (IS_DIRECT(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "D"); + *mbs++ = 'D'; else if (IS_GMC(mb_type) && IS_SKIP(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "g"); + *mbs++ = 'g'; else if (IS_GMC(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "G"); + *mbs++ = 'G'; else if (IS_SKIP(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "S"); + *mbs++ = 'S'; else if (!USES_LIST(mb_type, 1)) - av_log(avctx, AV_LOG_DEBUG, ">"); + *mbs++ = '>'; else if (!USES_LIST(mb_type, 0)) - av_log(avctx, AV_LOG_DEBUG, "<"); + *mbs++ = '<'; else { av_assert2(USES_LIST(mb_type, 0) && USES_LIST(mb_type, 1)); - av_log(avctx, AV_LOG_DEBUG, "X"); + *mbs++ = 'X'; } // segmentation if (IS_8X8(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "+"); + *mbs++ = '+'; else if (IS_16X8(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "-"); + *mbs++ = '-'; else if (IS_8X16(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "|"); + *mbs++ = '|'; else if (IS_INTRA(mb_type) || IS_16X16(mb_type)) - av_log(avctx, AV_LOG_DEBUG, " "); + *mbs++ = ' '; else - av_log(avctx, AV_LOG_DEBUG, "?"); + *mbs++ = '?'; if (IS_INTERLACED(mb_type)) - av_log(avctx, AV_LOG_DEBUG, "="); + *mbs++ = '='; else - av_log(avctx, AV_LOG_DEBUG, " "); + *mbs++ = ' '; } } - av_log(avctx, AV_LOG_DEBUG, "\n"); + *mbs++ = 0; + av_log(avctx, AV_LOG_DEBUG, "%s\n", mbstring); } + av_freep(&mbstring); } } From patchwork Fri Sep 3 18:39:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 29983 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp1549869iov; Fri, 3 Sep 2021 11:40:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyI1quOnxh834UWmDrUqbSLEAXwybo+s4/ZU4Q/WNiap6B1Uc7N3AN7UJJqOI97VRNG7fIH X-Received: by 2002:a17:906:4a82:: with SMTP id x2mr276723eju.111.1630694445176; Fri, 03 Sep 2021 11:40:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630694445; cv=none; d=google.com; s=arc-20160816; b=czQqhikAmWOWR2hJVmSU5FNTvHT6eAa+iDH2HgRr0Y/cektOniTwpwM17B+S7gWt1e PSt12dTka+5vWxEyPT6djQwMP94Ymel/LWCGy7b8R9DXwMj1ep83w8yu/LgMnV4qX4Hi DDN3bknwvFpcCq4uxLGl4DcXaaT0WDRjVodOZREuR3eONwnsgTLHghbTEobtaaGQbobS AgsdQI9BD68wdcSU268xWYhWco2LcECHp4Gz5q8V1VO+gF96+6SLG6U1bPlpwIT+tQS0 fVk/zdkYPbPyFRfJHvTVBCs+7pBTh/CahytPlNz+3s5+L/zOpFhv41yb8Ubs8caTccsk DE0Q== 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:references:in-reply-to:message-id:date :to:from:delivered-to; bh=AipaDe5Tx8fyn1SlzUgWbqmybYchtuf4FIm25h/puZE=; b=XGLHM25D6XCmtWeG1727xnZWlTbZ3VtUcYQifxJ2Mv6o/shgwyrvoFds5/5VKpQxLi NxYGbI8qPdyIeRnW7/ESRFMRNzN2SYBE/Cm4qHCYdM3Y9vq3ZtfyXjNd2eiQgO1ax6Pe 4hxsj/NSu+zN4jcDepbjLEi1NcuHcMBER2OrjaxzHpX4diEZxHYrvIIhOufed9Dd2mwX NDWfjZfCB2K2BlGBA7ugCVdpBlid+Xa79ToN5XkD3976PvJC+QK8AM2W1KXdTcc3EVNp XGGHX6oc9WHO2oG0j66U2oMwrLIoMji4c7ZBuJUZWqrUVnB7oocyn2m1bhHdbm3a9+Pd xHEg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ka11si29440ejc.367.2021.09.03.11.40.44; Fri, 03 Sep 2021 11:40:45 -0700 (PDT) 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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 25F5568A16A; Fri, 3 Sep 2021 21:40:22 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from vie01a-dmta-pe03-2.mx.upcmail.net (vie01a-dmta-pe03-2.mx.upcmail.net [62.179.121.161]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 474E968991B for ; Fri, 3 Sep 2021 21:40:14 +0300 (EEST) Received: from [172.31.216.235] (helo=vie01a-pemc-psmtp-pe12.mail.upcmail.net) by vie01a-dmta-pe03.mx.upcmail.net with esmtp (Exim 4.92) (envelope-from ) id 1mME6o-002Qv1-0f for ffmpeg-devel@ffmpeg.org; Fri, 03 Sep 2021 20:40:14 +0200 Received: from localhost ([213.47.68.29]) by vie01a-pemc-psmtp-pe12.mail.upcmail.net with ESMTP id ME5qmg0P3ljeHME5qm8BOq; Fri, 03 Sep 2021 20:39:14 +0200 X-Env-Mailfrom: michael@niedermayer.cc X-Env-Rcptto: ffmpeg-devel@ffmpeg.org X-SourceIP: 213.47.68.29 X-CNFS-Analysis: v=2.3 cv=BoHjPrf5 c=1 sm=1 tr=0 a=2hcxjKEKjp0CzLx6oWAm4g==:117 a=2hcxjKEKjp0CzLx6oWAm4g==:17 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=GEAsPZ9sns4A:10 a=ZZnuYtJkoWoA:10 a=nZOtpAppAAAA:20 a=eRNZXqDnHaUsLPHo6WgA:9 a=1fhp2MxaeJtTNGEnv6mo:22 From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Fri, 3 Sep 2021 20:39:13 +0200 Message-Id: <20210903183913.15255-4-michael@niedermayer.cc> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210903183913.15255-1-michael@niedermayer.cc> References: <20210903183913.15255-1-michael@niedermayer.cc> X-CMAE-Envelope: MS4wfNa+EP0QAWkJEGgxwcDwEfWuN/VwCTQ/sGa5EW15LLjaCgbaRTTifUY+e9ogCbY3JY+5UMdpJR4xcWzWQw6dqL+WuOgA5DUmKq5O664PvYDUAWJ7E+ou 5pVr23z34WYrXPHgILlJrvY9wlpVpVIxZjnPDs+NnEk3ZFtRMJ3nB1ti Subject: [FFmpeg-devel] [PATCH 4/4] avcodec/xpmdec: Move allocations down after more error checks X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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" X-TUID: HDOP7/gLDwv6 Fixes: Timeout Fixes: 37035/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XPM_fuzzer-5142718576721920 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/xpmdec.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libavcodec/xpmdec.c b/libavcodec/xpmdec.c index e609a70c6a..a11926ba28 100644 --- a/libavcodec/xpmdec.c +++ b/libavcodec/xpmdec.c @@ -341,9 +341,6 @@ static int xpm_decode_frame(AVCodecContext *avctx, void *data, if ((ret = ff_set_dimensions(avctx, width, height)) < 0) return ret; - if ((ret = ff_get_buffer(avctx, p, 0)) < 0) - return ret; - if (cpp <= 0 || cpp >= 5) { av_log(avctx, AV_LOG_ERROR, "unsupported/invalid number of chars per pixel: %d\n", cpp); return AVERROR_INVALIDDATA; @@ -360,14 +357,17 @@ static int xpm_decode_frame(AVCodecContext *avctx, void *data, size *= 4; - av_fast_padded_malloc(&x->pixels, &x->pixels_size, size); - if (!x->pixels) - return AVERROR(ENOMEM); - ptr += mod_strcspn(ptr, ",") + 1; if (end - ptr < 1) return AVERROR_INVALIDDATA; + if ((ret = ff_get_buffer(avctx, p, 0)) < 0) + return ret; + + av_fast_padded_malloc(&x->pixels, &x->pixels_size, size); + if (!x->pixels) + return AVERROR(ENOMEM); + for (i = 0; i < ncolors; i++) { const uint8_t *index; int len;