From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 47BDF4B1F8 for ; Wed, 31 Jul 2024 23:18:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 457C068D7D0; Thu, 1 Aug 2024 02:18:38 +0300 (EEST) Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C118968D720 for ; Thu, 1 Aug 2024 02:18:31 +0300 (EEST) Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-44fe76fa0b8so502861cf.0 for ; Wed, 31 Jul 2024 16:18:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1722467910; x=1723072710; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=NmHnyTzsRqu4Slp67jRjNg6+7j0Kver2djPD2E6naQQ=; b=PyxBx8KDYlEJ9gFv+S6BJ5jiNfJu7Sy+m15nHKt9NdBL1mq9mJry/8Pnlp8JrB2gA3 TJizchTOMdCg3goAb727952HmVdtEtRs2PNqrz7lb2nyab9GyChlmC9MwjdWSWm5trcX E1jmJPovfwKxyyXxbK6KZMb+6yo6JBXKiUcaY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722467910; x=1723072710; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=NmHnyTzsRqu4Slp67jRjNg6+7j0Kver2djPD2E6naQQ=; b=JIOs7tXx9j3wdjF/mRpossAmcud1RcaqTbv96bvJSFGzA9RFBgMc3607BWTdzfK6Dm l/HGhcOt0Ivwwl3kBpSkySCc+pgJW71vjOAkzunDRrhhSigSyLoyDnF4/qK/xcb2VQxO feW2T44Lx6zeTC2plH3OOqlfO3M0SK7JVsGw3vgVxWMl6VeUQpkrMZ25sFs2jA6wzmvt Ngkc5T4UtihtrtVXT42tdjRTZuGPxxjX+Au36d9GtJRnXk2iDHjOYxr0BNtIxsywqO/n sqruCnWs3rMHSNZYUkcb0k28/3UWYpugQ/tGHaRNW44fgT9rJgLYqZpiotjqArSKISHn sbCA== X-Gm-Message-State: AOJu0YzKNSo5jhiV3nyIUqiwJvWslkKQrf/LSXgPVHHYSmck3/F/UpZa 6qwmCazj8Yeih79wj7g1+XjnnZW6WfbdK7VViN8+xXtqrtjojXdD8JH12Jl7wj888eV178fYuuz uM85bu8ZvpFWZJdhKOSardQRdFDIEkpq0TAw1ou6NrQWnYthvLg== X-Google-Smtp-Source: AGHT+IFzYTGjNGW3b9kkgEBhDVjVa3hGzlV3sHl+FGHljrcgejKSRO+jGQ4I3ARKqtB8g7i1BhCla1JguLtjXrgLXks= X-Received: by 2002:a05:622a:5cb:b0:447:f3ae:383b with SMTP id d75a77b69052e-45180f16525mr316591cf.19.1722467909132; Wed, 31 Jul 2024 16:18:29 -0700 (PDT) MIME-Version: 1.0 References: <172242552982.21344.6954016374655758017@lain.khirnov.net> In-Reply-To: From: Dale Curtis Date: Wed, 31 Jul 2024 16:18:14 -0700 Message-ID: To: FFmpeg development discussions and patches Content-Type: multipart/mixed; boundary="000000000000dd0a39061e934f65" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] Check codec_whitelist before reinitializing AVCtx.priv_data. 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" Archived-At: List-Archive: List-Post: --000000000000dd0a39061e934f65 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Jul 31, 2024 at 2:29=E2=80=AFPM Dale Curtis wrote: > On Wed, Jul 31, 2024 at 2:10=E2=80=AFPM Dale Curtis > wrote: > >> On Wed, Jul 31, 2024 at 4:32=E2=80=AFAM Anton Khirnov wrote: >> >>> Quoting Dale Curtis (2024-07-31 01:14:13) >>> > I realized there are a couple more allocations that can be skipped he= re >>> > when a codec is not on the allow list. Here's the updated patch. >>> > >>> > - dale >>> > >>> > On Mon, Jul 29, 2024 at 10:19=E2=80=AFAM Dale Curtis >>> > wrote: >>> > >>> > > This ensures that if a codec isn't on codec_whitelist, its VUI >>> > > information can still be populated during find_stream_info() >>> > > via parsers. >>> > > >>> > > Signed-off-by: Dale Curtis >>> > > --- >>> > > libavcodec/avcodec.c | 12 ++++++------ >>> > > 1 file changed, 6 insertions(+), 6 deletions(-) >>> > > >>> > > >>> > >>> > From f87042d77d13c4c45f4b800146dc16347c1007d4 Mon Sep 17 00:00:00 200= 1 >>> > From: Dale Curtis >>> > Date: Tue, 30 Jul 2024 23:12:21 +0000 >>> > Subject: [PATCH] Check codec_whitelist before reinitializing >>> AVCtx.priv_data. >>> > >>> > This ensures that if a codec isn't on codec_whitelist, its VUI >>> > information can still be populated during find_stream_info() >>> > via parsers. >>> >>> Can you elaborate on this? >>> >> >> The current code reinitializes the private data structures then checks >> the whitelist. If the private data section had already been filled out, = it >> ends up being overwritten causing find_stream_info to drop side channel >> data. >> >> >>> > >>> > Signed-off-by: Dale Curtis >>> > --- >>> > libavcodec/avcodec.c | 11 +++++------ >>> > 1 file changed, 5 insertions(+), 6 deletions(-) >>> > >>> > diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c >>> > index 214dca4566..1f9b3eb360 100644 >>> > --- a/libavcodec/avcodec.c >>> > +++ b/libavcodec/avcodec.c >>> > @@ -174,6 +174,11 @@ int attribute_align_arg >>> avcodec_open2(AVCodecContext *avctx, const AVCodec *code >>> > if (avctx->extradata_size < 0 || avctx->extradata_size >=3D >>> FF_MAX_EXTRADATA_SIZE) >>> > return AVERROR(EINVAL); >>> > >>> > + if (avctx->codec_whitelist && av_match_list(codec->name, >>> avctx->codec_whitelist, ',') <=3D 0) { >>> > + av_log(avctx, AV_LOG_ERROR, "Codec (%s) not on whitelist >>> \'%s\'\n", codec->name, avctx->codec_whitelist); >>> > + return AVERROR(EINVAL); >>> > + } >>> >>> I think this will break the case where the whitelist is provided in the >>> options dictionary, as it's not applied yet at this point. >>> >> >> I just copied the existing code a few lines up, so it seems ancillary to >> this patch, but I can fix it in this one too if you want. >> > > Nevermind, I see what you're saying -- yes this does break that case. > Thanks for catching. I'll send a fix shortly. > Fixed. Thanks. > > >> >> >>> >>> -- >>> Anton Khirnov >>> _______________________________________________ >>> 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". >>> >> --000000000000dd0a39061e934f65 Content-Type: application/octet-stream; name="no_reinit_v3.patch" Content-Disposition: attachment; filename="no_reinit_v3.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lzagwpb70 RnJvbSBhOWQxZDExZTRkYzMyNGJlMWVmOGYxMDk4NWZiNDE0ZjA0ZjUwNGZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYWxlIEN1cnRpcyA8ZGFsZWN1cnRpc0BjaHJvbWl1bS5vcmc+ CkRhdGU6IFR1ZSwgMzAgSnVsIDIwMjQgMjM6MTI6MjEgKzAwMDAKU3ViamVjdDogW1BBVENIXSBD aGVjayBjb2RlY193aGl0ZWxpc3QgYmVmb3JlIHJlaW5pdGlhbGl6aW5nIEFWQ3R4LnByaXZfZGF0 YS4KClRoaXMgZW5zdXJlcyB0aGF0IGlmIGEgY29kZWMgaXNuJ3Qgb24gY29kZWNfd2hpdGVsaXN0 LCBpdHMgVlVJCmluZm9ybWF0aW9uIGNhbiBzdGlsbCBiZSBwb3B1bGF0ZWQgZHVyaW5nIGZpbmRf c3RyZWFtX2luZm8oKQp2aWEgcGFyc2Vycy4KClNpZ25lZC1vZmYtYnk6IERhbGUgQ3VydGlzIDxk YWxlY3VydGlzQGNocm9taXVtLm9yZz4KLS0tCiBsaWJhdmNvZGVjL2F2Y29kZWMuYyB8IDE2ICsr KysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hdmNvZGVjLmMgYi9saWJhdmNvZGVjL2F2 Y29kZWMuYwppbmRleCAyMTRkY2E0NTY2Li5mMTg5MjYzZmY5IDEwMDY0NAotLS0gYS9saWJhdmNv ZGVjL2F2Y29kZWMuYworKysgYi9saWJhdmNvZGVjL2F2Y29kZWMuYwpAQCAtMTc0LDYgKzE3NCwx NCBAQCBpbnQgYXR0cmlidXRlX2FsaWduX2FyZyBhdmNvZGVjX29wZW4yKEFWQ29kZWNDb250ZXh0 ICphdmN0eCwgY29uc3QgQVZDb2RlYyAqY29kZQogICAgIGlmIChhdmN0eC0+ZXh0cmFkYXRhX3Np emUgPCAwIHx8IGF2Y3R4LT5leHRyYWRhdGFfc2l6ZSA+PSBGRl9NQVhfRVhUUkFEQVRBX1NJWkUp CiAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7CiAKKyAgICBpZiAoKHJldCA9IGF2X29w dF9zZXRfZGljdChhdmN0eCwgb3B0aW9ucykpIDwgMCkKKyAgICAgICAgcmV0dXJuIEFWRVJST1Io RUlOVkFMKTsKKworICAgIGlmIChhdmN0eC0+Y29kZWNfd2hpdGVsaXN0ICYmIGF2X21hdGNoX2xp c3QoY29kZWMtPm5hbWUsIGF2Y3R4LT5jb2RlY193aGl0ZWxpc3QsICcsJykgPD0gMCkgeworICAg ICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIkNvZGVjICglcykgbm90IG9uIHdoaXRl bGlzdCBcJyVzXCdcbiIsIGNvZGVjLT5uYW1lLCBhdmN0eC0+Y29kZWNfd2hpdGVsaXN0KTsKKyAg ICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKKyAgICB9CisKICAgICBhdmNpID0gYXZfY29k ZWNfaXNfZGVjb2Rlcihjb2RlYykgPwogICAgICAgICBmZl9kZWNvZGVfaW50ZXJuYWxfYWxsb2Mo KSAgICA6CiAgICAgICAgIGZmX2VuY29kZV9pbnRlcm5hbF9hbGxvYygpOwpAQCAtMjA3LDE0ICsy MTUsNiBAQCBpbnQgYXR0cmlidXRlX2FsaWduX2FyZyBhdmNvZGVjX29wZW4yKEFWQ29kZWNDb250 ZXh0ICphdmN0eCwgY29uc3QgQVZDb2RlYyAqY29kZQogICAgIH0gZWxzZSB7CiAgICAgICAgIGF2 Y3R4LT5wcml2X2RhdGEgPSBOVUxMOwogICAgIH0KLSAgICBpZiAoKHJldCA9IGF2X29wdF9zZXRf ZGljdChhdmN0eCwgb3B0aW9ucykpIDwgMCkKLSAgICAgICAgZ290byBmcmVlX2FuZF9lbmQ7Ci0K LSAgICBpZiAoYXZjdHgtPmNvZGVjX3doaXRlbGlzdCAmJiBhdl9tYXRjaF9saXN0KGNvZGVjLT5u YW1lLCBhdmN0eC0+Y29kZWNfd2hpdGVsaXN0LCAnLCcpIDw9IDApIHsKLSAgICAgICAgYXZfbG9n KGF2Y3R4LCBBVl9MT0dfRVJST1IsICJDb2RlYyAoJXMpIG5vdCBvbiB3aGl0ZWxpc3QgXCclc1wn XG4iLCBjb2RlYy0+bmFtZSwgYXZjdHgtPmNvZGVjX3doaXRlbGlzdCk7Ci0gICAgICAgIHJldCA9 IEFWRVJST1IoRUlOVkFMKTsKLSAgICAgICAgZ290byBmcmVlX2FuZF9lbmQ7Ci0gICAgfQogCiAg ICAgLy8gb25seSBjYWxsIGZmX3NldF9kaW1lbnNpb25zKCkgZm9yIG5vbiBILjI2NC9WUDZGL0RY ViBjb2RlY3Mgc28gYXMgbm90IHRvIG92ZXJ3cml0ZSBwcmV2aW91c2x5IHNldHVwIGRpbWVuc2lv bnMKICAgICBpZiAoIShhdmN0eC0+Y29kZWRfd2lkdGggJiYgYXZjdHgtPmNvZGVkX2hlaWdodCAm JiBhdmN0eC0+d2lkdGggJiYgYXZjdHgtPmhlaWdodCAmJgotLSAKMi40Ni4wLnJjMS4yMzIuZzk3 NTJmOWUxMjMtZ29vZwoK --000000000000dd0a39061e934f65 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --000000000000dd0a39061e934f65--