From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 8E9004F65C for ; Fri, 20 Jun 2025 08:46:01 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 706C968D8EF; Fri, 20 Jun 2025 11:45:56 +0300 (EEST) Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02olkn2106.outbound.protection.outlook.com [40.92.48.106]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 1E86F68CC79 for ; Fri, 20 Jun 2025 11:45:50 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JVyutspiW3DbPxGLX582QSaXIMtVXTii+lrBSETKc9+D0bRW5aWNSo4+mQZqHHBes/aJ2UzTlAk1ng6FkpX6m1U4Fz/W713MkxwoxiJrFrja5pZoPIKsaumH1QbrmC3zd2WuA67ZkFXHdKhafwQIagURniUj2ClImLcyC+YhuS5OycwpJVOuobDlbsWw991sh0VGrNIuckLLUbx1BROoKuiCj2WrOEUT9lKP3Y8Rc+cmiQB6VuZNkWnrNxtiBOq49I0HbJATFuhSzXc/2WzoV3JgtVGIadEyeNayoyOh1Y9Mo/SjFWhFvS1me9WCBID0/RWY9X6Q1LNjI5jC8B4MuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=mBnYisMmyqitMpOD8kKyfs3eW7QO4N+SmqhVc8ObowI=; b=kFCosLNqkDnPWg6SNtpxv+Ip2kvItKKf5r0KPCoCVDa3kb5cn4sa1pFkD9Be8TGEzYNUGUpxPbs4L+m0nI4nqOoRcJaH+fZMYy05qZ7XWgxidzNrE47ljiMjQu0PG+rTrFWASNa4P6O+FTxXKDiqkaxrQ/bJfqDaenYdAmu8gwfblkoNGFwvVatDkbuh2dQ5bOeofhrT+hpf5HWnFaAYt5zCXzF0bHbCAbf653//9jldFanOADUcityG+Leb0EK5v/z+6vB7lwdv1NFb22oHr7On0eVtFmEHnNti1Cq96RBsont/moKUVRaKOi9GzYhVJl7Y/yG9yNmoAl+zK8oXPA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mBnYisMmyqitMpOD8kKyfs3eW7QO4N+SmqhVc8ObowI=; b=IfcCBbQHkmdfsGbIOnPiu1K6B0zJS6XyPea1VicTxtLRiN6JKn75idsHZnJdRM0Mo7MGOPhWu4Nl6NjXOlQ6z9xPZ3IC8xj6T8ejdKfZc1fvXVAWhaqTmLA5gPzRWwwgDWLKHALZDj0LE3Ur5yOUoKryjYBNTmT/JkpmcESJXmyZnEgmfd1+/IJA3LJxRMM47jNsAvEiqczeBMrATebHvywNfXpeqSoHqnnB9wBwXF8+Yj+gg6pCjQhwoMoG+1plL/LR4Qz0QWHHEB+65yqT+IMmhbtZsE4UW4Uv5uQmmv/BHJX4qdT22qZb7HZvEGrE3dCVqVOUrKz1GUG/Vploxg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DB4P250MB0879.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:385::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.22; Fri, 20 Jun 2025 08:45:48 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4bfc:40d7:f620:ee41]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4bfc:40d7:f620:ee41%2]) with mapi id 15.20.8857.020; Fri, 20 Jun 2025 08:45:48 +0000 Message-ID: Date: Fri, 20 Jun 2025 10:45:46 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20250620003255.295598-1-michael@niedermayer.cc> <20250620003255.295598-2-michael@niedermayer.cc> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20250620003255.295598-2-michael@niedermayer.cc> X-ClientProxiedBy: FR4P281CA0263.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e8::10) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <0c0a32aa-c7e7-4246-8a43-50f81ae5944c@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DB4P250MB0879:EE_ X-MS-Office365-Filtering-Correlation-Id: b6d129d6-a1c9-4505-6800-08ddafd6da68 X-Microsoft-Antispam: BCL:0; ARA:14566002|5072599009|15080799009|7092599006|8060799009|19110799006|461199028|41001999006|6090799003|3412199025|440099028|10035399007|12091999003|40105399003; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VnZUOURWbEorQVBOdFdnckZOYnN2WjY3eVZSNXI1V251d1hLUXRadGMwY3Fw?= =?utf-8?B?YWM0WXpoVXp3MVN2YkRIdEFUbGJYekRvamU5ejhRMWJweHE2aWZtb3lGZVlT?= =?utf-8?B?dzltYkpHMjZZa2FobU1OeitMTlZLY1BQMTNyS2o2SUpNM09IREJ4V0lNK2Fa?= =?utf-8?B?L2tPMVo0UHBxV2dPMGs0ZE1YWkU4ckxjL0xmRWZRRlNLRms5eWl4ZHpIYzR1?= =?utf-8?B?UlhaUWVxbThWdTIwTjc3dmxiS0VhVXRSOWh5ZDlUWFRWQjc3VE9SSVIyaXEz?= =?utf-8?B?QjhjdURDeDJtNUxyRVgwRUtxZEp3QXd3S2dLcy83RkZrdEt1THZ0RzZrbTEw?= =?utf-8?B?NDVoV2tlb0lIbjNhT0RhdTM2aWR0bGhGM2c2UmRtK0RUSWhUdG9SdlRzb0VT?= =?utf-8?B?VnNCRng0elhzZlU1b2VxRmVHbHJleVRycS9pZ25Ed01hTU9iamZaOHFWTlF3?= =?utf-8?B?bHZhRERQN3AyVWs4OExTSWp3ZGVqbTVjOWE2amN3bk9MeW5aS2NCN2lQdFhu?= =?utf-8?B?Y0crVjY0ci9pdWk2Vm9jc2pWRnNDUGdZSEt0NnN0bW01dFRQSGhENkRBVUNy?= =?utf-8?B?YXNMVExWaW1NYjZqUWxBOFp4eXNYWlkzNnYyYXFGanpDb3NFa0FJUmxKVnZQ?= =?utf-8?B?TnQwMkhDM1NLcVROVXJyeHE3cHhmSVY0b1gvbW9HdFNoWGpoQWc2YmxwOW5y?= =?utf-8?B?RFJPYVJtWFY4ckY1MCthNCtKMitLWkprRUx6bUNTdm14OWlUNDVnL0hZbEUx?= =?utf-8?B?QWF4UjhiN0syQVN3ak5seW91S1l4Z1JCOHo1ZDdMY3ltcVpTZ3J6d0Q0cUlB?= =?utf-8?B?SmluQnpObklDRzNueEtpczRFRGMzalJDaUJWcjRWSUxTSnExZUQrRkV2Rnl5?= =?utf-8?B?Wmk0eW9oUDJDU0Q1L01HSnRZMlloMVN2UlpQRVhUdWhXcy9VM0NnVDNaMEZR?= =?utf-8?B?THA1U1dJQXBJbmc3RWFTeGVMd3VxT24ySmZYRERRbUU0L0FxS0tsSVp3b2Vi?= =?utf-8?B?VGhVWDFjVVVmWWtIWkVneFMwdm5GNHJCWDFlVEswNXU5NUV4V2xaNklLeU9u?= =?utf-8?B?L3YzeFZsRlF3UVc5ZzE5eTNuL2hINnhjNExuRHU0VkRlMkEwUmRNcFhZVWhw?= =?utf-8?B?V0d2aDkzbnRWRlkzRkpOOXBNZnFnU05lSnNwSldKY212dHovaUZhQUwyS3g0?= =?utf-8?B?bEkzVjJaM2xtcGUzK1NXTXlSRTBDSG1uRnQzVTRsSVZLVHRVc1RPQnU5RjJG?= =?utf-8?B?YXlWUUlFbG9pWnp2VEF5V2wxQk9aUUc3T0RrQWVuNmNrQWFzTGc4L0haSnlT?= =?utf-8?B?VURoR3Iyelo1TVIvNnJPK3JqbFhHRlBqMGNtNzZib0lOUGgxOTcvNEEwa2tk?= =?utf-8?B?SlE0VFp1cTZMRzBlc2dFMU5jdVVrcFZEL09SSnREcCsyUldwNmVaMmVYbTBz?= =?utf-8?B?MFRNMGdGem5pclF5dnRlUFZjc201eHZVdTlubjhpdEkxV1R5S3BQNENCNXBW?= =?utf-8?B?bWlneGplMXQ0SXBHK3cwMTVpOEdkWlhqQXB1OUg5Z0h2L0dtSWh1dHdZekZj?= =?utf-8?B?NWc2M1EvMmxLQmVWV2tROUJnWVdlMWdaYnJZUnlnTFM5Mkk4VURETjBXUHds?= =?utf-8?B?Zmx2cWRVcENSTm1mKy9LSjZjZlVOcW5uQ0RtQ2tOS3J5cnFndDFiRnhxeHBX?= =?utf-8?B?YVMyMGVqQ1pyL1k2M29PcHVOQ29scGczRE5ZcDJ3bE9IWTgvc0FQb0JJTHZs?= =?utf-8?B?anRUSlpaR1lLS0h2a0c0ZTc4Vi95dVR3Vm5zU2JWQ3FqNHIxMlJRTW56eXUw?= =?utf-8?B?TS9KNHdyN3ZYZmowWUIvZz09?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SEpia1FZaEIyTjRHRjVRQ0dUWTlUTUkzTTM4bFpZU0VZZjNZN3IyZ1NMWGdx?= =?utf-8?B?alhyb3Q4d0JiMlBHSlVkamR4RUJ1Qm13bnkxMVhCNkVtLzVCTGUxQ1FZRWpR?= =?utf-8?B?TW4rZmtHeGQrNG0wUXdWNnA4eS9oTllQSmVDbEdNTGFpY3pDZFlyMklzeFZy?= =?utf-8?B?aE9XRVRQenhLb3lqT2hVNWJneHF6bmJNWnVyc0tpOFcrV0VkSjBhOXY4Uyti?= =?utf-8?B?blMwZU5teHhacFNkdEJPYnRDY2dYbkRwSDloYjRsV2p4K0ZsaXlSbjA3azJ4?= =?utf-8?B?ZVlHNitrbDJCK0NKd0tKTS96NE9QY3VLd216LzB4a3VoYXFLdlhsb2NyUDIw?= =?utf-8?B?OXVON1A5amxuOVRab3Y0cEcxQzdwZE9uMmV5alNqa3VKRVJMLzZteVdxQ1hN?= =?utf-8?B?RXVnVWVVOTBMVU5YWmd4M1o5MUs1OXpxWGlLaWYrai92UXFaNk5KdUZ2Vm5x?= =?utf-8?B?cWwrblFRN3VHc2VTMVJVNERMeFdsM0ZvemcyV0duK2krWDJFN0Y5bTZ0QkhI?= =?utf-8?B?NjhqYk9wS2J6OUpYRUFCWkdmcDZ0SG1BUzVBN1dTWnFleUtmM1JBR2daR0hy?= =?utf-8?B?bWduU29pS3FkZUNiTGhwdWdTeC91VXVkZGpNelQ0TWtEOTA0RG9RWURsVUw3?= =?utf-8?B?cTN0UnJHN0NOOStuRTR1MW14eGtIeVFDL3RjRGhJUS9NK1VhZVNIdjc1cDE3?= =?utf-8?B?YmErRGY4OUhzdVUyMHRoci94VG1KblZjc2N0MVpJelVFalJ1bjNGYUlrc0lw?= =?utf-8?B?V09tVE9CWWRkL1BnWnZiOThTVFFaU3VHdVdlNHNIcHFXYTJ0bk9CQkt6ZjEw?= =?utf-8?B?emRCQkpMUTJmTUROSzhvN2xZVTZkWE8xc20wUkJveWlMWUQ1amtTS2szODlT?= =?utf-8?B?aWxNUEc1Z1pMa1Bxa05jcS96RUgyaXEvRjBKNHpTUHliL2RPbE1WdnM2UDlB?= =?utf-8?B?YUkzaU9YL2tabEdLcXJwalBTS0lyeDRsL2xwUlhibFMrbUNaVVFLM2U0QlR2?= =?utf-8?B?Y0Y2TFZPWEFHMVFOVGcxVGx6M2VROEZvczNMYnlGLzh0eDhOY2xtL2RETkZN?= =?utf-8?B?R3BoelY5czZIbDAxNWlWTGtINHp5QllLaFQ0YjJicWgvcTkrY2toSElNdko0?= =?utf-8?B?RUtUbmpILzEvRXVsdlVwZlNLbnlMWkFjeEJ0RmZBd1RCQ001cjhabVhaa3cr?= =?utf-8?B?aFRsa2g4QTgzZWl5UCtreFdyTWJ2eGdiUmg3ZU9ENXZteWI0L1FxbU03NHZS?= =?utf-8?B?aElXTWZFaHMrcWYvL3JJaWJKcFpPeVJwb2VsbHpEVjUyRXZNaGVzdVNQbW93?= =?utf-8?B?U2ora2RINVl4RnJkUVBvc0hNNUtwMDFkbEV1R2JQaTZROVI3b3E0bERIb3Jv?= =?utf-8?B?RGRmc01VeDhNVkwwbEo4MFlLMjhGQzBGRmZ0OXc1SldxR04yUE1UTXBuOUN1?= =?utf-8?B?dHRRYTQ1dzlhSXFOYjVVdi9QdnVCU1RMTmsvUEc2V3pxTmsvdURGRjIycGwr?= =?utf-8?B?RHVNYy95UGhhaUVxUis0d2FKSkVPdlhiMkdDamtGQnJPZnRXY2dSTnRRdUtZ?= =?utf-8?B?alJaQlRSMUpnd0JXYjduNkpPMlVTRG16djJyOXJNS3cvbURkUnMzMCtHeHVM?= =?utf-8?B?WmFWU1ludklOL0pXekZmTWdBa2lYMkJTNUdwTTYwQk8xcm1Lc3FvcnRrVHlR?= =?utf-8?B?U2pnZzNEYXlxWWV2dlFoZGV0eUwyYmVpeGhuZlFjaE45S0xiQTdULzFhQWZv?= =?utf-8?B?b2RWcnlrc1dnNTlURGtKZ25kaXBHbmVtZjFRTit2dEF6NnFob2NuV3FRaE1M?= =?utf-8?B?Mk5scFBDcy9KZ0lRZmlhdz09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6d129d6-a1c9-4505-6800-08ddafd6da68 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jun 2025 08:45:48.3843 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4P250MB0879 Subject: Re: [FFmpeg-devel] [PATCH 2/8] avcodec/hcadec: Check sample_rate 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Michael Niedermayer: > Fixes: AVERROR_BUG return > Fixes: 413997604/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HCA_fuzzer-5188382613635072 > > Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg > Signed-off-by: Michael Niedermayer > --- > libavcodec/hcadec.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/libavcodec/hcadec.c b/libavcodec/hcadec.c > index 7780372cf3f..161044bfbcc 100644 > --- a/libavcodec/hcadec.c > +++ b/libavcodec/hcadec.c > @@ -179,6 +179,9 @@ static void ath_init1(uint8_t *ath, int sample_rate) > > static int ath_init(uint8_t *ath, int type, int sample_rate) > { > + if (sample_rate <= 0) > + return AVERROR_INVALIDDATA; > + > switch (type) { > case 0: > /* nothing to do */ The sample rate used here comes from avctx->sample_rate, so why do you want to check this here instead of checking it generically for all audio decoders without AV_CODEC_CAP_CHANNEL_CONF like this: diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c index 7bcb0295e5..0ad39b4d91 100644 --- a/libavcodec/avcodec.c +++ b/libavcodec/avcodec.c @@ -254,7 +254,11 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code } } - if (avctx->sample_rate < 0) { + /* AV_CODEC_CAP_CHANNEL_CONF is a decoder-only flag; so the code below + * in particular checks that sample_rate is set for all audio encoders. */ + if (avctx->sample_rate < 0 || + avctx->sample_rate == 0 && avctx->codec_type == AVMEDIA_TYPE_AUDIO && + !(codec->capabilities & AV_CODEC_CAP_CHANNEL_CONF)) { av_log(avctx, AV_LOG_ERROR, "Invalid sample rate: %d\n", avctx->sample_rate); ret = AVERROR(EINVAL); goto free_and_end; diff --git a/libavcodec/encode.c b/libavcodec/encode.c index 72dfa8867a..38833c566c 100644 --- a/libavcodec/encode.c +++ b/libavcodec/encode.c @@ -633,11 +633,6 @@ static int encode_preinit_audio(AVCodecContext *avctx) avctx->sample_fmt); return AVERROR(EINVAL); } - if (avctx->sample_rate <= 0) { - av_log(avctx, AV_LOG_ERROR, "Invalid audio sample rate: %d\n", - avctx->sample_rate); - return AVERROR(EINVAL); - } ret = avcodec_get_supported_config(avctx, NULL, AV_CODEC_CONFIG_SAMPLE_FORMAT, 0, (const void **) &sample_fmts, - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".