From patchwork Fri Sep 24 16:37:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 30558 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp1699001iob; Fri, 24 Sep 2021 09:38:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz7MuIJ3I0oTOcAcp4LE8uzaonKwOcyjgbZfWIeXUkUuhm3F2AT2E6qSsY8PB5ctaLSmJar X-Received: by 2002:a05:6402:17cd:: with SMTP id s13mr5951209edy.321.1632501507408; Fri, 24 Sep 2021 09:38:27 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q15si10063376edi.437.2021.09.24.09.38.27; Fri, 24 Sep 2021 09:38: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; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=I40XmrMn; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2D34B68A753; Fri, 24 Sep 2021 19:38:01 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-oln040092070100.outbound.protection.outlook.com [40.92.70.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 24AF568A744 for ; Fri, 24 Sep 2021 19:37:56 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fUPd0xyEd31HVcZRfDm07jciOXjqCvn2XemcNYPB96oLaIl0iNDuPV2YnKNOX679xxiEjq4PgmQls/+PwvHAM17F6eVq4wrQsETx0128yspdT7vQNAXHdaoWMSeRlMl+xcjaQpym8olXKU9bIIvA3VOkND9yMz1vFDtc+AYjS2VryfpLLEXkeLU2PXCqyTdezmw0/2NvmS7PP53oimxGjDLzV5/iXbacaiirhpH/ugINKGK22US8wYVm1nccoxyUaPs3Jvr2PHgpuS1gR7MWrFOgdB1PVSjlga9SvqXo5K+A8KrDmO32hkjvUQNLKG7ZEiLCNynITu2SPUXO9TqDzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=TSV57w0eF1EMUQsCZYjva5+airQe94gIsZJtkbBWXZY=; b=oRIrH/NQhvAFdzumR/c/c1ednZ84YbRlX7rXZSC2ATk84qUi99d1h9T3jQ0gfLrWWSaf2Z5OEAwv2cNGMm0Tf/fyaXzu8Y2ZswC+r26J4jOqL0QY8FZppPTdtS6bibg6oH7LYm2PaE3NEI0liDJRktnah9Np+WJlWNhhifWQXOCkiUfskLPQMSTvCD4VYFo9qiTLP9QlZ/IO3mIuYwMZ8HCaaLMVvVwSFZJ2XDMsR5dFCII1TsBR72ze8/RdfvBkd4GT10tIXvxuQqFxMaY2Zpp2L6g7fy2AGuRTygDViiqgSDbDsdQ9CHEwHoul9a+yugnBeHquwpacWxA7YOzsaA== 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=TSV57w0eF1EMUQsCZYjva5+airQe94gIsZJtkbBWXZY=; b=I40XmrMnoAy2wRxy7Bu/TxIOwPJ+/7qd99qFyW/8ufwQI/F7yjEfqJHD2wn4Wk1lls2PP7e6++soJMr08pl8vNrsFENolKZeGtZ4Wlzrq4PS2Jpaefz81+dtPg2gMjvs916NvaJcMPWRduLDv4G5zHzI1lnwSG4VS0wmfdsaaXquq+wufSbFPfRuBSWxnDHK+f9LOeNYDDqOAzk2QFULfh/n2TXNwkkuKqm/FCx/H06rpRzpMS2zC5pXOAQsf6v1Vp4vNzu/Q2Cy/EJnGYWSrCHEp8/BupsgAuLxPxtEy2SDKOWLCgDjNffisYOYvBOmECVIyRnykEb/NPMRSwc61A== Received: from PR3PR03MB6665.eurprd03.prod.outlook.com (2603:10a6:102:7d::6) by PA4PR03MB6847.eurprd03.prod.outlook.com (2603:10a6:102:eb::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13; Fri, 24 Sep 2021 16:37:51 +0000 Received: from PR3PR03MB6665.eurprd03.prod.outlook.com ([fe80::15d4:ff2d:e607:cf68]) by PR3PR03MB6665.eurprd03.prod.outlook.com ([fe80::15d4:ff2d:e607:cf68%3]) with mapi id 15.20.4544.015; Fri, 24 Sep 2021 16:37:51 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Sep 2021 18:37:15 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-TMN: [zQCOfLb0wuEN2m1pSFcOWq2PLTwHxK70] X-ClientProxiedBy: PR3P193CA0044.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:51::19) To PR3PR03MB6665.eurprd03.prod.outlook.com (2603:10a6:102:7d::6) X-Microsoft-Original-Message-ID: <20210924163719.562217-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by PR3P193CA0044.EURP193.PROD.OUTLOOK.COM (2603:10a6:102:51::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13 via Frontend Transport; Fri, 24 Sep 2021 16:37:51 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9fc50d36-027c-4d51-3cc6-08d97f79a6b2 X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/UL0L/IA1O2ztnNnL/cAHC6sMytiTa3ZRJL7tiNsEsfuVSDZzqY9pLHH76D51i7+XVScrcwIRLC3RiHFah0JI24LBczvj3Dp+UMFbbPPCDFHWQf2O9Rb0nw7tvohQH8UH9qIrtl3QPuuPAZNw/Goqm95Kda/mnDGjcaDtBY9KpG7hp+KNhpbNxRziI40I+dXc9hyTlqAi1oRleDZdMs0fa+68lPdTu8nVipo3m2Po69oZBSop27cKRLZ9gFpGiREzN7cMqiQ+B+hQTfJYouCIfm7HO0ktzsdTCFJYwNFYJ0mr4K7FYcReLsYWiXd4vqHV/R/f8e9lBbVXKGdCe6E7CDajZwPV+/CV3XBNX+dbJgIIUGU/v2gx2p+lO4pCa8r209JfWmyOLzMirTbrfmvqp0Pfs5HoKsS4tR98Zz232hbf+jpj4Glk1wXiB2IzyyNV9Iy2OfRmj+RLJBdFpxGjaQLRkTrdbW3K7t/uuwoalWF2PUCkbLefFGHZCeOdUML2vH5U9CT1tMxy7TAL7MKJaHKOUGEYQAo8rgjLrovO5vw5j/3/k18mncdGxaz3/f+YBuJtqmbGGm0B3XQs2Lj4bq3V2EX1TBmBXdXY7L0tqCdtRlCFHE72OFKYKS2x9PxuCT8eNd+lAzJYk9DYQIfun2RTUbVAbFkJ1XDB+P7q15U72e07wV2sO3Ntr2+l1bm+AyYgXud8iOegg== X-MS-TrafficTypeDiagnostic: PA4PR03MB6847: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Yh1Pp8wX9ABrXDrETc3trmipp+p8oGLgcr9yJAANMbUNqs1sZyBVcgM+aMOhVnxUMsKRDnW/U+GDnezkNVmlOXsIRBltYD2lmozb4L0QH2/svauAIFc1kYrQXd6654WzGNfdWtTtQzMXM7lE7xzkwfnwmsDEWgf3bI3INhbCALHG4frtLcbCyOimypDW3squbdCNN3CCwW1AvyKIyGN0N3sIZnMWteTBW8zcBR2Bv2q/80rx73cXdwICEhOLjp/zZXZhHiJXLi3DM/tQQQeBYr1I6ZrjR8jtW7XtfF4ecz9rivVlwL54xlPYljoBC0FxGrddS/SkDG/pYfV/pHwQitWbgLgLLoi6cR04UokG6bfviig8VCDrxulZOqA5jlMpST+wDRhn47YZzES6YwU+rvXNfJHH/VYwNmwCu6Y7lh95LIHudNt+2gRIHzZCBAli X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lORN3AlM0o6vIQt72mj7h9rDN815HVVkoklDqlKseOZs1QXcXCcs5SNWEKrsGoLvvdNJFt00cRvHMXnMGuixGbdzu6E+cbDyWdLheIRMz0C72aoVKy3k+6h45BGQ3sn/nr+QbLNJ4KndGYrygPI37g== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9fc50d36-027c-4d51-3cc6-08d97f79a6b2 X-MS-Exchange-CrossTenant-AuthSource: PR3PR03MB6665.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Sep 2021 16:37:51.6215 (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: PA4PR03MB6847 Subject: [FFmpeg-devel] [PATCH 07/11] avcodec/avcodec: Make sanity check stricter 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: VR7ju744by94 If an AVCodec has a private class, its priv_data_size must be > 0 and at the end of a successful call to avcodec_open2() the AVCodecContext's priv_data must exist and its first element must be a pointer to said AVClass. This should not be conditioned on priv_data_size being > 0 (which is tested by FATE) or on the private context having been successfully allocated (which has to have happened at that point). So remove these preconditions to make the test stricter. Signed-off-by: Andreas Rheinhardt --- libavcodec/avcodec.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c index 2dd7dd84e0..97eb1ec431 100644 --- a/libavcodec/avcodec.c +++ b/libavcodec/avcodec.c @@ -364,9 +364,8 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code avctx->time_base = av_inv_q(av_mul_q(avctx->framerate, (AVRational){avctx->ticks_per_frame, 1})); #endif } - if (codec->priv_data_size > 0 && avctx->priv_data && codec->priv_class) { + if (codec->priv_class) av_assert0(*(const AVClass **)avctx->priv_data == codec->priv_class); - } end: unlock_avcodec(codec);