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 5C9E546C4F for ; Sat, 7 Oct 2023 00:40:06 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E051368CBF7; Sat, 7 Oct 2023 03:39:47 +0300 (EEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2106.outbound.protection.outlook.com [40.92.89.106]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DC03E68CBC0 for ; Sat, 7 Oct 2023 03:39:45 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VlGSm10wdQFjB8ufKS3dYdEx1IUrDhZfnO6rgr0p6FSuvS7B7b5LrlDVjo8jPohsdhw9r1ZEltdrLOd8/UpkFfFmb7EZsedwm324gl5lgBFOOuCFQPwd4Mr2fiD0BCXhqCv2+c7t+8ErTrK9+N7q1bBidxs7v12qDLIwajfHm1f0h4uVy5RQbTujLqlcEozDy35AWG0Y9L2hSkhZG02ni6ZlLgi10ZTA39jUAmK+q6Srrl5rC4XbwzqPsFdH1v5W3j+0mtZ64NzrMXxRNfnY9At6vTZMnM7P97VMlT+uW1IS97VgLO9BqtpBcrQfWia+Q9Cx17uDw+lVLXO1f+sOiA== 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=jU0QT1V24M6CoCrObZZ/xc72FkuE2ethMWbei/p1HFo=; b=IdlAeWQXdo+GmYhBVcu1OuTAlVQzk5HUX9pDfMPGU+oImLr8JDXlw7RxxKsJVRQ+nlWUuYmNUS6+rKuVn40Na1RcD7tJ/zygSTxo6iQNdbZ0UXD8NUi+xUNmc8ecspnD+xgfrIJQdx0lOU5x7x0JbztHFYt90qkTOX7tHuTjiY9qUiXUM+EXgmD+rtlXcqCSjBDHCiCL0oA1hHUsXJLz8mQufckY3rxvh4etAY4Yu3n0fN7H0tSKBX58pV4OYZ8/VCmLlI2dkvCnXeZcTyq1WNCPouXpG73ePpq1rcSOPtM2n15An/u4mH9CBwqL3rHN5Kd9ahF6GMqlZWjKUOlOYQ== 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=jU0QT1V24M6CoCrObZZ/xc72FkuE2ethMWbei/p1HFo=; b=aeIfvMnp0j1obbWCoB/j0bSayYTB6KgMVcmFLV9BhK2tAU2CSr7ehK4fUgLkbWpcC6GlT2lk78xQn2PNKmd/QPCRGBofIsw8lyTTD2ZXcXzroSZPk5FZR5GrJA+HyQPSsaanjvOQgdmhkORXQ3y5Hzsqmr4m5n/f1pDYWqcNxL/rmqR2KHCdEJiUPRWdWVeaLg5oZiqdkV0jr4VVyhEuHkx3nFsRwJEp92VNvVzGrtteD3LaRewyVLfRHgR/N59g014Bgx4OMbLByeXYLIxzzrHV3M3t9dAgMHc2KRIBmOhrdkR0/VcYnFSE/aZu/m+UW4YdSDlx0/rFHBlYyaBTTw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0050.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:14d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.37; Sat, 7 Oct 2023 00:39:34 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6792.026; Sat, 7 Oct 2023 00:39:33 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 7 Oct 2023 02:40:30 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [hKbjiH9XZBebhrE2AZIcck/ifoTm5/QR] X-ClientProxiedBy: ZR0P278CA0154.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:41::9) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20231007004031.2024778-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0050:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cc0f310-e360-40e6-8866-08dbc6cddfe0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DLWUAw5mWBlmwOIaPUw4uC38uw8+OHSEW8Ua9y28A0fC/iL7nJEdnqs7cTfxac7+ee7s54U2K9tq+Gv0iOoaUelRxKOmwTjlAunofp/eIBuZmEzM8V73gEjMf+mmAMJxIcvYOjeTwCb/5EOHogFW27IQ1bdlxoUXqpHTz6IsKyMnNOdPwHs5V2+ma/usrZ1+IThlRyg+Cffan71ErtqlDLklRGrJl9SMG75A9mFCb3bplbIaoL4MsgrIplNBKqCvxV13gduYTOYlDTAtMWFb9ZUK/R33fETCGpsNrkWziQNQg1clsOdSnDIVuHKr6KeSqMHHltrROUIiLqw6Uu9739/5rjiecb5EIOfBwZ8eol5omFTg7MU/2Rh36Awl5taVDSSBcKGAVpxlnIOYkYzSxBhrHwO1HmQ4nLglTCN9IZyMLzWFdPDWS9LAbwULWCvCwBfdugQUnKXKYLVrMZEjbsbbAOH6c1EGVgWl78/MNmqBifdbPrO4nzj4OEF9KMLZHBibAKFq4k/azodtPEe3Pjtzt7cr/Qqjo16WKmr/nF1rbQ9Tbx57kZ59bW2VA9BzstmCsil6r8u4o/etzfTnr+RombeTJSxZXOQSdciXS+gu+0Cat2pPlbLx0bKnW39L X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fJ6nh1EHV4D6CxZQAiF6FS8vXIuZZXKNPcU/bi71DrkOFN7vetdbRSYreZak?= =?us-ascii?Q?+uT4DH5DWtfMOZm8WkXIB9YnChkRv+PPNkfRr7RvIVHRw0wEpWpp1qCGg/PG?= =?us-ascii?Q?6lhxIGed/xx/PLh1e7FQcNirfSLIdBKFzFX7oAB9lCsYJXYJ8wGDCY/ZPIdh?= =?us-ascii?Q?l2iQxbDpXHI+XvRxBnQ4q0Gi6STg3eovzFjxSAMtIzhtbWY/OBhLYqb9U7aA?= =?us-ascii?Q?sKVn6aMvtE1JQ5tKtwe78zTvHP2cYB0m4OmNsa8aUCdFHFXJPvieS+HaKCFM?= =?us-ascii?Q?TgJNWN2vTcIlQUWwy6cnXG8FM8BUsczlO0DnnAmLGHnAZM45DiU7VziZi8dy?= =?us-ascii?Q?kyPU56HUai0DKMXCSTAfFFC2xVHruz1WnAr8ntzEvSIJfEY1sU9hKQey5gw5?= =?us-ascii?Q?B3aXY9ZwobLjxGNUlEiEmwISwbwFxMQKtUX1I8qSMMkrn3Y+vOXs6+vj1V2H?= =?us-ascii?Q?d9vZcSvLBpzDNMuuy8GBaGS3LGoI9KKUN+DsIYLPW9eBQTzdhOxlZLnQ2bAR?= =?us-ascii?Q?QcRNWCfanntGt3HC6WHiaQNCc+1u2c2MteKuqeaolPJQ+RguNwUI/hx8z3Ja?= =?us-ascii?Q?LtFzZw/fxETdk+2IfboyhqU3Skq7kGYVZ0CKsNOlVISNJkbKdiUxXH1+rGpS?= =?us-ascii?Q?HcUZhpFEPk3XwDgTB51YziZCx++2HoLt99cv2y3p6aNVdZiorhK+M68gcN7g?= =?us-ascii?Q?+wHGEmonRnrJesLYMs5+Zdn71jU/r3JRPuMBqvczCstdBFc6dYQRO3tgMwQB?= =?us-ascii?Q?i+MdNM7LM2ZY4fe7qFMIi9c/361o4nCPxQa0wJeaAvuKxgGamieu+QKb+wGX?= =?us-ascii?Q?10Vod9o+RBME2oMtGhU4jKY3kFN5Giz7SYfcY/MZLEtTo00kpGG7wJAKU9Oj?= =?us-ascii?Q?oRS1RLvwbcIZe/CNPDUBtBjqTVF5klLWljP9c3WLhEIHllz65Z7QZGbIcJp4?= =?us-ascii?Q?72B0iYU6GyoqhV2AHAEL0dcEuzyf0ZYQxaP3m0LLoGITYskOe3y91KHmRWx1?= =?us-ascii?Q?Ys2MxXf8VB/LGiBOrYA2U/A9CpLptCsE5Cf+PNE7VMuqWO6H/qLfeGjKHWWu?= =?us-ascii?Q?2vIEpcwnQkPg66AQh05p8eLLwNNbY2UYG7F8ayEH42M+ppz9uBDi2kyuzLsf?= =?us-ascii?Q?QdcrKnOdZSoOt7aiA58YGr8nJcRaxi2B7FdjzOAEQPQ6VxH11Qq31ohcG9U1?= =?us-ascii?Q?wWyGkLRzMxKWiu/DLT4roAoFSuG8QOexAmhY7yBgbg0ZAT92h8AUPsu9uC4t?= =?us-ascii?Q?NHq2bpa+dbr2L4mzYO6S?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cc0f310-e360-40e6-8866-08dbc6cddfe0 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2023 00:39:33.2153 (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: PR3P250MB0050 Subject: [FFmpeg-devel] [PATCH 6/7] fftools/ffmpeg_demux: Fix leak on error 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 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: An AVFormatContext leaks on errors that happen before it is attached to its permanent place (an InputFile). Fix this by attaching it earlier. Given that it is not documented that avformat_close_input() is usable with an AVFormatContext that has only been allocated with avformat_alloc_context() and not opened with avformat_open_input(), one error path before avformat_open_input() had to be treated specially: It uses avformat_free_context(). Signed-off-by: Andreas Rheinhardt --- fftools/ffmpeg_demux.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c index 41fcb678c6..350f233ab7 100644 --- a/fftools/ffmpeg_demux.c +++ b/fftools/ffmpeg_demux.c @@ -1462,8 +1462,10 @@ int ifile_open(const OptionsContext *o, const char *filename) if (data_codec_name) ret = err_merge(ret, find_codec(NULL, data_codec_name , AVMEDIA_TYPE_DATA, 0, &ic->data_codec)); - if (ret < 0) + if (ret < 0) { + avformat_free_context(ic); return ret; + } ic->video_codec_id = video_codec_name ? ic->video_codec->id : AV_CODEC_ID_NONE; ic->audio_codec_id = audio_codec_name ? ic->audio_codec->id : AV_CODEC_ID_NONE; @@ -1488,6 +1490,7 @@ int ifile_open(const OptionsContext *o, const char *filename) av_log(d, AV_LOG_ERROR, "Did you mean file:%s?\n", filename); return err; } + f->ctx = ic; av_strlcat(d->log_name, "/", sizeof(d->log_name)); av_strlcat(d->log_name, ic->iformat->name, sizeof(d->log_name)); @@ -1527,10 +1530,8 @@ int ifile_open(const OptionsContext *o, const char *filename) if (ret < 0) { av_log(d, AV_LOG_FATAL, "could not find codec parameters\n"); - if (ic->nb_streams == 0) { - avformat_close_input(&ic); + if (ic->nb_streams == 0) return ret; - } } } @@ -1582,7 +1583,6 @@ int ifile_open(const OptionsContext *o, const char *filename) } } - f->ctx = ic; f->start_time = start_time; f->recording_time = recording_time; f->input_sync_ref = o->input_sync_ref; -- 2.34.1 _______________________________________________ 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".