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 9066C45B3E for ; Fri, 17 Nov 2023 15:42:02 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6C1C768CD0D; Fri, 17 Nov 2023 17:41:58 +0200 (EET) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9918668CC35 for ; Fri, 17 Nov 2023 17:41:50 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700235715; x=1731771715; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=DvR5WCTvPJ/NRlZxSYOTZ8SkgMtrSP4JlN7Pv5DUpn4=; b=W4qiNMZSfMs5Pyy6d6EXUV74+umcoxYif8YTyaSr7y87Ai5rFnQgJXOG Jryd2ySnlSIO1TPzETWnUOMvQJTGzz9FdsrV54y+h1vElczg8Yojd1gyY MMqt/O7Q9cfM/5GRtoaP3cR+RDCLN3VImFJo+2aCdE4ZSLNWVuXkYZsm3 5E8pqzdnir7v5z7Zmcvc7DsjCApiSxbdN+cIHmSA5diAr3/gizG2VDU1A uIjNUm07ZDkzMw9hTIotsZv2svyQt+aDmhiNClSyAwNXC+uvdbom/5p4t AhW478R6q/ocgxC6hXPs/ku8c4ijCrk+KR0nScAR2FbiDVTSAALkP4bCK w==; X-IronPort-AV: E=McAfee;i="6600,9927,10897"; a="477531811" X-IronPort-AV: E=Sophos;i="6.04,206,1695711600"; d="scan'208";a="477531811" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2023 07:41:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10897"; a="909460411" X-IronPort-AV: E=Sophos;i="6.04,206,1695711600"; d="scan'208";a="909460411" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga001.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 17 Nov 2023 07:41:47 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 17 Nov 2023 07:41:46 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 17 Nov 2023 07:41:46 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Fri, 17 Nov 2023 07:41:46 -0800 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.40) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Fri, 17 Nov 2023 07:41:46 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=De5W+f8awYW5YdeSaiCfX357E30ozcD/mCjNaVSD37kmr3y08nBwjs5U0vgxKCGojA7WSbcEdoq9AcIqkkwLp5HXJxJQWkh6poHLBNWA/8XKBbTaW5X/pXviVWbm9merk7boOY1+svIL9zH3J+nHL08hfjMfqxItF4dr0iTS29lHSI9TuMehsRURQFUaa5peIJG9X+QdEV1P5CMG39wOFiBzCFozjIuJrE869Q+2Ih2NEEXKcAoBU071SvYIkvlIWKXq/lxLbkZ0RAlQzbg2oI+e0L52NJ45UyaeykBYqM27rc3pg+oiYolgzlpxLnBAOP/+8A6N4DuLqL3GfTAixA== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DvR5WCTvPJ/NRlZxSYOTZ8SkgMtrSP4JlN7Pv5DUpn4=; b=CEEdNBp2g9SZ8RMAtq5vf0hbkJAPPaiWg2ciBOBonjeqpz0CmGCpa0INq1Xspx9kQ8tQG4hzcJfrJMGk1/80kpqxkJRJWfLhxw+AIGY8/9yqoHLdRDki1c3YQWhq46Vg/ULZwVtykkpLBhA+k+kBLmL13bALeiZDxSeqmXVjr07MtXIBamQSRtTzgeKU3u/Zjwc2Qf5vj6nSup5FiuEL0lzsbPPLfxvape2jph4+R8/U3ZPiYhYDx6ARNRtpTK69AfgUxeSXLYr1xmNjCyHZgIWiCReY1Lcc7o74okfD0ZQIMcAkTorYOJTU85gsNOXNkWX6gwTwcZXbsdeafXHaLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BL1PR11MB5447.namprd11.prod.outlook.com (2603:10b6:208:315::17) by MW3PR11MB4683.namprd11.prod.outlook.com (2603:10b6:303:5c::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov 2023 15:41:43 +0000 Received: from BL1PR11MB5447.namprd11.prod.outlook.com ([fe80::448f:80b:8ef:b6e1]) by BL1PR11MB5447.namprd11.prod.outlook.com ([fe80::448f:80b:8ef:b6e1%3]) with mapi id 15.20.7002.022; Fri, 17 Nov 2023 15:41:43 +0000 From: "Rogozhkin, Dmitry V" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v2] avcodec/decode: guard against NULL hw_frames_ctx Thread-Index: AQHaFy7tpnr5i4uRQECvx1VCzrs1IrB+qqiA Date: Fri, 17 Nov 2023 15:41:43 +0000 Message-ID: <1bc6e41e79a0fde80276805a155cfbe9f8f7316a.camel@intel.com> References: <1699986151-24741-1-git-send-email-dmitry.v.rogozhkin@intel.com> <1699989272-28075-1-git-send-email-dmitry.v.rogozhkin@intel.com> In-Reply-To: <1699989272-28075-1-git-send-email-dmitry.v.rogozhkin@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.28.5 (3.28.5-10.el7) authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL1PR11MB5447:EE_|MW3PR11MB4683:EE_ x-ms-office365-filtering-correlation-id: 2921ae9c-0a13-4139-b02c-08dbe783b350 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jeAaxJBIsdjqPOjuutbCnTQt4LxbBDRk5d8czP9X3L/5EUXv6EpbQNRsE5jZvCvLDi4HTtY69aOwzz0Qb4cwQkjSmKA4W2JrHEBT3VgYGtcTkkydFTFEupj4bRR4rcU3s4Cgl4g4F9/oGCqFfGo2erkDHsGlLZh39EnYlv4hAPAr9GOMNFcOHMvORx/zj4Qiwzs0Q2zgtuZFwTiq7n00I7SQAlyoATQktK9erL4zvVqYAPkdnkar9LI84O76zlmHzwOzEHpgfRVRJ3SON8Ixje5TmLv7cmbuBLAfcnnxW+GoSymHX63/dt1BAvceHws4BmqaPosOdcQWS35z73MxNd6fT2Rqb7Chy24PlT6XKv/9utiyw5urkFj6spUiQAPaH0Gly3+b7S8axrP1ysx9jsPdgYDvaSCM9w8oPqHaeiri4X0gN7yn+3whIQp3YcfKVDer+Zr787fychILYxbL09feZTKhDGCK5TNNodH+XNY6zmaZfATNpl4eR+JmsvfvwrNyaMmazQ/wvqd2klMKQ3yST2fHAeUI3hpdeYQU4VNLm4X8TY0oZ1Dlv+AxeBdsPMHrV7q0/2Ct71mXXMF936/TB4aTC3Qf65Q7xOKskFMiJYDpmP5b5cT4By6KQoYIEVf40NTjkFkT+c21YgMMUyL4NF7tX/t28w8gbI4j67w= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL1PR11MB5447.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(346002)(396003)(366004)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799009)(122000001)(6512007)(71200400001)(4001150100001)(86362001)(6486002)(966005)(478600001)(36756003)(2906002)(38070700009)(82960400001)(5660300002)(6506007)(41300700001)(26005)(316002)(8936002)(8676002)(4326008)(76116006)(91956017)(6916009)(66946007)(2616005)(38100700002)(83380400001)(64756008)(54906003)(66446008)(66476007)(66556008)(99106002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MWtueVJ4dFl5ck5iSXhEUElMbVZ1VytTSm5BZlBLbEVlSDBKWW1tOWFWSE1v?= =?utf-8?B?RkloZ0YrZEozZEduNnU5ZlpZcG9jMWszS2xudi8vTFlTNVg5bmh2ZnE5QUxy?= =?utf-8?B?VStTd3o1czJwbm0zNTZueGZkbnErM09CZDJVRDh5OTJPTFdscDdXdEFxVGYw?= =?utf-8?B?NW5LSVNQakxFaWU5OTE2VTJjc1JFZmZ2Z3NwQWRNK3VyMXQ2azhNbXZwWWtM?= =?utf-8?B?dTM3ZlZMUEpSdjg3U2NoTmNLU1hFa1cwN2dObUY5L1BOWkZzRDBBRVdXL1Na?= =?utf-8?B?alBEV0J3NW54OUxTQlJhWWZJSUFpRWNSMXk0NDBFWGhxZjdaVGNKMG5JVm9l?= =?utf-8?B?RDlJMDFpMmxJeEZUYmZ1TGJyQU5MY2hrOVFLNHd5RUM1dEpkdGZRanlBM2ZZ?= =?utf-8?B?NUVpWFVWMC9XU2Q2M0dTRStqSVB4QjkwQmIwcERYZ1dUVU9IbVQzWTdUUG5C?= =?utf-8?B?RXlIYm53b0dpRldBaXliVVkxdm9tL1FYdkNvSk01Qkc0R1BOYTZLZFM4K1Jx?= =?utf-8?B?YnpsdUdiL0Yyb2UrbXBWNm9zalR6bFFla2gyWlphd0JmSFB2UCtRb3dxU0k4?= =?utf-8?B?c2hoR0pvWWJNY2lyUHFlSGl1MldYT3EzWktRT04ycWx5U2VPV1lzbm5FY3Z0?= =?utf-8?B?WFdYYmFURXYrdkZod1NoRjQ4bHFFM1dUSWhhUGwwcGVqYjdlajk5UStnUWRn?= =?utf-8?B?VU9jSDJUOXVlY1p1RzlFZk1jeERFOWY4NFN6N2xwNFRUYjJHYW1ZNTZrVEVQ?= =?utf-8?B?eWtrNUg3SGRpcXdzUjNNSGRTRFNQMzlPVjVMUXA5a2lmY3NOdzNJSDRzZzRG?= =?utf-8?B?M1hKSDkweXppWHM1L2hnMmN2Q2NjZkthVU92cmZubjcvR0pnOFJoc2ROM2Nx?= =?utf-8?B?RjZMQ3lleHlzeWxyYlNFeFk5SlFrbmtnQWhDenlrNGJQejRNeXdFUk83NWRn?= =?utf-8?B?MEtZVTE1YlZRQjllbTBjeUh3c1Q1UHA4U0ZTc2RlMUMrZm5hVWxaZWJBNzVW?= =?utf-8?B?WUE3c3RqeS80eUVHd3NkTlFsWTRLRk85c0pzQnNHbWM2aUhGZklZV0FMcGNk?= =?utf-8?B?TWtyZlNVM3lDelVMUzBhNFVRNmZKTjRJZWVCeVFtYWdMN2Rxc09OMERHOGdt?= =?utf-8?B?c205ZkJZSUsvTFdkb2ZnMVJPYXVpdXZRazBjWFE5dTRCNjBqRkNNRnJwa01m?= =?utf-8?B?UXpkMWRud3E0R1pHcFVYeWxSbG5hQndubERjanFCcEhRRXhDUm5SWWZsN0Qz?= =?utf-8?B?KzdvRVBYSTBaZWlNcXFTZDB1WjFRWUtLOFRRclBJTlMyZTNUWEpDWlIxUUtl?= =?utf-8?B?UlNNRGdVblRjSHZVc0NrK09QMlowS3VSOWlHOHVFamJUWmd2NEl2cDV4bllK?= =?utf-8?B?MHdLQlN5SE1DajQ4YkN4OXlNL1VDQWlJUmdmalAvR2tNMllWR3hxT2JQdWlj?= =?utf-8?B?bEpQS2RkU0tieWQxZVgxKzVSbTM3TC8zZ202aGNOM1dWMi83UmNuaEJ0V0NU?= =?utf-8?B?UThqV0F1dmVtV1o4Q3VHTW11SDVPMWxsc2t6MFNNbnM0UEJTRXdGaE55Znll?= =?utf-8?B?R2YxcnJRcENYSEtYb1l2VWE4Q1QyVmhGTGVGNkhEZUdDaGhac3ptRlR4UVBM?= =?utf-8?B?dzZVclBSTllSN0psSjhGWWV6bUJxa3ZBR1IrTHF3ZlQ3MjUvZmltUURHRnRE?= =?utf-8?B?NURMVjJqSSt6Q0VaaUc4OXYxRFB1MEhqcUMzT2QxK3MzVEpsL3FWODlHNlc1?= =?utf-8?B?OVVLUmo1c0xtbWJWb0Q5ZW90UExuOEV3YW1zYTlRL1dQcVFhN1ZKdnRWOEpt?= =?utf-8?B?UjQ5UnovMXhwd1BJVE54dW1xU1I4TWF0RU9ScU5uSWFiRmJiUkxLL2xCcFBj?= =?utf-8?B?T2ZBTlg1TVJ0MkcxUUNxcjd0dnlreUpZUVZSVWxiSUZUWjNuMDJaOUtiMnFh?= =?utf-8?B?Y0drNkM4UU1wTzh0NzFQcG1weXJhM1BnRXF6V04zM2x3cG9Qazg4R0Qzdld3?= =?utf-8?B?TTdqT2I4ZkF2SjFSTTBwYTRmR3JwaUpVT1YyMXpSbVFpTjBEenFIUFVlcTZn?= =?utf-8?B?RnZrK2VJbVVFd2VNaUl0bUtkOHlITW5OUjFpdHB5Yi94TjV5ZksrN0lpTWsx?= =?utf-8?B?SC9qbHd2VlhpNkJqSEx5TUFBMGc4aVVVdndWbjJPNXo5Qm5YK3pha3FVWmpi?= =?utf-8?Q?Zm+B4GR2RiGNMr2fLzTfwps=3D?= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5447.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2921ae9c-0a13-4139-b02c-08dbe783b350 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2023 15:41:43.8128 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7sUlOopEQPYSLAtxuCOEq0tY3kdlNRozjviQZixzR9vfTTG9n2Ks0U4iZwrzzLguBmOpPYY55xG3hH0l56gqAQb8HxSMoN3Da9gXj8DLYYM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4683 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v2] avcodec/decode: guard against NULL hw_frames_ctx 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: "reiter.christoph@gmail.com" , "dev@lynne.ee" 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: On Tue, 2023-11-14 at 11:14 -0800, Dmitry Rogozhkin wrote: > Guard against segfault running VLC decoding under msys2 [1]: > > Thread 33 received signal SIGSEGV, Segmentation fault. > [Switching to Thread 37728.0xadd0] > ff_hwaccel_frame_priv_alloc (avctx=0x6447b00, > hwaccel_picture_private=0x65dfd00) > at libavcodec/decode.c:1848 > 1848 frames_ctx = (AVHWFramesContext *)avctx->hw_frames_ctx- > >data; > (gdb) bt > at libavcodec/decode.c:1848 > at libavcodec/h264_slice.c:208 > first_slice=1) at libavcodec/h264_slice.c:1599 > at libavcodec/h264_slice.c:2130 > at libavcodec/h264dec.c:652 > got_frame=0x646e4b0, avpkt=0x64522c0) at > libavcodec/h264dec.c:1048 > > (gdb) p avctx > $1 = (AVCodecContext *) 0x6447b00 > (gdb) p avctx->hw_frames_ctx > $2 = (AVBufferRef *) 0x0 > > v2: check for free_frame_priv (Hendrik) > > See[1]: https://github.com/msys2/MINGW-packages/pull/19050 Posting below some comments done in this PR for this patch. > Fixes: be07145109 ("avcodec: add AVHWAccel.free_frame_priv callback") > CC: Lynne > CC: Christoph Reiter > Signed-off-by: Dmitry Rogozhkin > --- > libavcodec/decode.c | 22 +++++++++++++++++----- > 1 file changed, 17 insertions(+), 5 deletions(-) > > diff --git a/libavcodec/decode.c b/libavcodec/decode.c > index ad39021..58f887d 100644 > --- a/libavcodec/decode.c > +++ b/libavcodec/decode.c > @@ -1838,17 +1838,29 @@ int ff_copy_palette(void *dst, const AVPacket > *src, void *logctx) > int ff_hwaccel_frame_priv_alloc(AVCodecContext *avctx, void > **hwaccel_picture_private) > { > const FFHWAccel *hwaccel = ffhwaccel(avctx->hwaccel); > - AVHWFramesContext *frames_ctx; > > if (!hwaccel || !hwaccel->frame_priv_data_size) > return 0; > > av_assert0(!*hwaccel_picture_private); > > - frames_ctx = (AVHWFramesContext *)avctx->hw_frames_ctx->data; > - *hwaccel_picture_private = ff_refstruct_alloc_ext(hwaccel- > >frame_priv_data_size, 0, > - frames_ctx- > >device_ctx, > - hwaccel- > >free_frame_priv); > + if (hwaccel->free_frame_priv) { > + AVHWFramesContext *frames_ctx; > + > + if (!avctx->hw_frames_ctx) > + return AVERROR(ENOMEM); Similar other places log and return EINVAL: https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/decode.c#L1121-L1123 ENOMEM seems like the wrong status here since there is no allocation happening. > + > + frames_ctx = (AVHWFramesContext *) avctx->hw_frames_ctx- > >data; > + if (!frames_ctx) > + return AVERROR(ENOMEM); Can hw_frames_ctx->data really be null here? i.e. is this check needed? If yes, then ENOMEM looks wrong here too. > + > + *hwaccel_picture_private = ff_refstruct_alloc_ext(hwaccel- > >frame_priv_data_size, 0, > + frames_ctx > ->device_ctx, > + hwaccel- > >free_frame_priv); > + } else { > + *hwaccel_picture_private = ff_refstruct_allocz(hwaccel- > >frame_priv_data_size); > + } > + > if (!*hwaccel_picture_private) > return AVERROR(ENOMEM); > _______________________________________________ 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".