From patchwork Tue Jun 18 13:48:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 49991 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:9196:0:b0:460:55fa:d5ed with SMTP id s22csp2569256vqg; Tue, 18 Jun 2024 06:48:40 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVl6WbV3qLeOSjzySr1rVuzOto2a1VaHlAeM5D4D7mFunQnA2kwUYj94lv9cYZEwolDfm22pzGqbaSQfLW8xfW9ANmbH0OMZzfyiQ== X-Google-Smtp-Source: AGHT+IF8xHoW16bT1fFcQ5zEcE2hJozE3/MJfF9w0KqpqyWZn3DWMPif2PZbMFkQtljaB5JW58IM X-Received: by 2002:a17:906:280f:b0:a6f:5765:671f with SMTP id a640c23a62f3a-a6f60de2700mr850294366b.68.1718718519693; Tue, 18 Jun 2024 06:48:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1718718519; cv=none; d=google.com; s=arc-20160816; b=rh0ugiMONG+QLUZAL19Az6FuTiSRnwb5eUf2BvIpXyCK9KXX3rZvToKS4beNpxfyVH ndH3kt0f98FLRQpsEjJXGKat1s8J8kETZTbMKwLyo7dCXohhtJWwMjlhbmbr1BfXcZj+ zJYJ1Z6/23vEatyrCc45ZbKFaO0g0kkdp/wgPV+wg52DnmXn4MlaGZ85b8peZ7oK9AZV S6KS0jnB5wt4Rjtw5TyYeNR+9+qr35DQsEDcXzNueL/Crdp12iwtxDjV90JFkhqZx86r OMmHNeNRcjqyZ8blBOOOiH/EEFkRwHCFRKPAVxuYO7p0PMrDIj9Ta52+2s+BRrcPBwbZ BeAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=aJdTe9wPgSgyixfI+F+yH9C65HVhDloHAcL5X5EdqsY=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=dowcJpv7rFgrlRrsM796XuiABEyQdKHXmdnc/Dce01mVpn7ltMrjbx3SyDRYqRXgFC n6VCTV9/YK7TtA06Xz9L0WjyVVUAu1P3NAdmx6G6V7lQWi6E0c90ZM/5363MDPWt4NmI 4qG4CXJ33aWLv7uR4w4Cs2jsjGMHhF1HEmxtqlgBD9k/JdIg7hQ/BtdsrEqjSS3bJCev mXEW/jPVtpL2D1tbK1cTP92LCRoU4f5BJ+6Bn8D5r3nsohuJ0nQf9JpVrGGG6Q9CglUc 5ghAmyots72R+qTtogZFmW++X07hQD/KKcc9ZD8sslX7/9PVuf3OTBIt9s9ij6PDr/24 DJVg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b=hTvuUuVV; 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 a640c23a62f3a-a6f56d4b5f6si550409766b.217.2024.06.18.06.48.38; Tue, 18 Jun 2024 06:48:39 -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; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b=hTvuUuVV; 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 1137B68D7AD; Tue, 18 Jun 2024 16:48:36 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ED76B68D28D for ; Tue, 18 Jun 2024 16:48:27 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 2DA03C0003 for ; Tue, 18 Jun 2024 13:48:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1718718507; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=Lx5SWFzOG1k34znJjvh07r7VAhOXTa782NUcZRdRuVM=; b=hTvuUuVVYIfd/D+Fwk1ur28OC7W8DyItBZYs12oVOM1qc5gGHaGwvrB1bA0+6RpfjcCWep DyEgqGellzqD9vZpI5vMvV24sgwMs7ki2L8NpswPOe4kwyMFfDgZxqFMAC1TLSD3NM1mLV +824JnuoVhOumkGTltWGQEjYn09j7htaJLrs4yT5nofjWhvxkoLnA8V3YBqLmxuzV/eGDf jmky22uvWICMMZUDRbF+aHvM/lHq5Rbg81Ie6W6FL+Dqd5wPQ2Zzv0OnOEH8xPaeYsGetQ Pgjx7pmcVJIUG9Nv3aMQfUopd25oAM/GmY5qlOe8BYAzBI98mydza8yOQJlkRg== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Tue, 18 Jun 2024 15:48:20 +0200 Message-ID: <20240618134826.2189719-1-michael@niedermayer.cc> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 1/7] avcodec/utils: apply the same alignment to YUV410 as we do to YUV420 when motion estimation is used 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: b8+G45FMlb5c The snow encoder uses block based motion estimation which can read out of array if insufficient alignment is used Fixes: out of array access Fixes: 68963/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SNOW_fuzzer-4979988435632128 Fixes: 68969/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SNOW_fuzzer-6239933667803136.fuzz Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- libavcodec/utils.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 337c00e789a..7914f799041 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -259,6 +259,9 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, if (s->codec_id == AV_CODEC_ID_SVQ1) { w_align = 64; h_align = 64; + } else if (s->codec_id == AV_CODEC_ID_SNOW) { + w_align = 16; + h_align = 16; } break; case AV_PIX_FMT_RGB555: