From patchwork Tue Jun 15 23:32:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 28339 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5e:c91a:0:0:0:0:0 with SMTP id z26csp4311889iol; Tue, 15 Jun 2021 16:35:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyVjXPs4Mqja/40/szWVA7WAKfULRi7iVbZuSpy/41RZTQf1b8i4tBT3QWXRu76x001Cq01 X-Received: by 2002:a17:906:ae91:: with SMTP id md17mr2093360ejb.433.1623800150848; Tue, 15 Jun 2021 16:35:50 -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 22si431146ejc.357.2021.06.15.16.35.50; Tue, 15 Jun 2021 16:35:50 -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=sGfYoPCF; 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 CB3E6689767; Wed, 16 Jun 2021 02:33:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2056.outbound.protection.outlook.com [40.92.91.56]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E3FA2689AEE for ; Wed, 16 Jun 2021 02:33:28 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NLilWJgNOsee2x+Btaq2jBILgWeYZ1VZ1dsPzMeKljkcSwcgJe1KeHR0WYg8HaRHAVUf7YxDbrUa3LRy7zRwSNqrLwDXaRfYejjBsBB/MpXGyUjgeIkLrHFyC/d0GCEs1nXFb4eiFtmOQEcor3ckbGdHrCjC2gpMJO4xvukEks5kWzLj4prcE6fDWUJJ2hAr2/aqzVaZSwXi4fsybY4l8qtqgbNvEttyLe/yRzoMBAMshUP1B+jDtpk3sX4PahAyDYI5bDfJD6tW77HQYaEeR67z5jo+OEWRozhe0bskhu7QCdVUN/xAWSUximkiPxwCFrVg/OPWHh4q/OiKDx332Q== 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-SenderADCheck; bh=QDHURk0odEg4tObIhxfHDkphCH70UkuLb8tfZ6iqRAQ=; b=c1Kwe8/MNILpGn8yIuqdtdS5nJLQon+v38tv5zPgdbPn1mPCF/wnlCBvh9qvTpPXv3ZTBUnwln0fWrj+WuIaoSBgMrWGI0ajMYSaZ50+OtWoFUJT2tmrGr0ogneoUau7bf6S/Ih20eSufSvA6AnRob0y2kQC3I+W/fXsFISdlPzqU5xFv5EwUTvKhzuFZ5D0JXpl379t5VdgMovD7fYRPNGCiLPwTlc9N4tExyHxKaFJZD2gtBKpsd6AMtuaSNujb4qMuCpcaUW0smWIg0mcm6QuAEY0uCQDqHaD/JXf0bzoMNQclIR/OtDhJYrdPOba01R4nPtyYfI2aeo09eIhpA== 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=QDHURk0odEg4tObIhxfHDkphCH70UkuLb8tfZ6iqRAQ=; b=sGfYoPCF93MijDiMbGEU+Ya8TMrzmlyRNKn1i6ndIzScNHJXE6L2kLo5t4Lc1Tequ7d0q4Xjjz/YiSt7Gz07VtZp0D/jB5tknYQ5tot25dmfGcraRu44FYPdCXZu284nocCDYqaCTfspQF1M4/0NQNwz2UP99LSfxIHuEUVcr0tclbYJTtxktBnNlApzNOdsASj7DopS+paY4GVQdofvO9iP1fApTrSc//hxjkGCZAciKdVNvZgSrQRRXk/f1hBx3q8PWrs6poU11YdPpp29ioxQcoS1KtqSe8v5oThn86qD67j+8RBt0L1wCncxhOXi0fCziWj5tmzwsn5GYA7dbQ== Received: from DB8EUR05FT045.eop-eur05.prod.protection.outlook.com (2a01:111:e400:fc0f::41) by DB8EUR05HT088.eop-eur05.prod.protection.outlook.com (2a01:111:e400:fc0f::262) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.21; Tue, 15 Jun 2021 23:33:27 +0000 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com (2a01:111:e400:fc0f::46) by DB8EUR05FT045.mail.protection.outlook.com (2a01:111:e400:fc0f::383) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.16 via Frontend Transport; Tue, 15 Jun 2021 23:33:27 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:5506B6750E4A7FF74DD344380451F2AC502022864238E44C85A3F40400BCEAFF; UpperCasedChecksum:2650B0C7DF8DAE4A8731EF574F91F7CFAE1B28C5F9901E0FCC825CCB2C123FCD; SizeAsReceived:7597; Count:48 Received: from HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::f4cc:63fc:9cef:37fb]) by HE1PR0301MB2154.eurprd03.prod.outlook.com ([fe80::f4cc:63fc:9cef:37fb%6]) with mapi id 15.20.4219.025; Tue, 15 Jun 2021 23:33:26 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 16 Jun 2021 01:32:08 +0200 Message-ID: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: X-TMN: [xGXnuRBnEs9ZJ3k4k5gIyUI3iP0oyLTl] X-ClientProxiedBy: PR3P189CA0063.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::8) To HE1PR0301MB2154.eurprd03.prod.outlook.com (2603:10a6:3:2a::22) X-Microsoft-Original-Message-ID: <20210615233243.1173928-18-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.97.82) by PR3P189CA0063.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.20 via Frontend Transport; Tue, 15 Jun 2021 23:33:26 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 48 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 084f2d80-415b-4453-ecdf-08d93055f98c X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR9SlwCHtPrt+MV8TUUwp4p0OETr0+Jrn2aW1jxIgMYUaGUrMMeTGJmcYcFJvvtQSHyahcAoKfp+NbSXk2FuJELr7wTxNCKG9xeILM76/04uQjHNpnpq3LygCKQakb2LizJ1h39QOrXVeBO/4md90Gg7a6IxycKZ3r2qBV4XXHtVMtO7XD56gHKGyhcyMXuucmmFxjR2WnCIVdDpLdGQkYj7BRnZFACpVxK282DDQ77UuyMSxDnEm3/SUJ0J9j+WFsfcCfv9o1yJ/IyUNdzlj14JkyKqNRc/i3hwpt8yseHT+5wAnypgFzkaf34b5WDqzg+E7RfO8Vfsxk4yl+2nvIDNZmdhcJF5XVJTSwdNeR4Bwf6EQHR0c+rfHOHsYEyjyJ7H/bD3R9nzEMU8UzYAvG2o3CqJo7AfftnAA7CIffraTmGtRjZie9NxelQjASoptdsWuS6Oc5vpXtc/GX0/szJIbsCIMOr1mxChtrdQ5QCNH0l9nB34qCIcY121OzlUnUIx2tejkdUZj4VIT8Jz8PPqLHsbSbPJsllBc4lvSGpNChTUWstlBmtivCG82eLhw4vcrBQubfyBH+ABEzxn0/G4uvCMs7gLwcdgrz5EXzoi0ebPAGELO8FIuTZ/A376bpAHaOUJaqWt2Jp8E+v8+Nw1rq7PImE+UKcGsk5avnvZkVZhSnCmGL1c8Tf6icsnRijclnUBAucRYFrwMXQlBmVMRnaSs0PZxw9Leh+LpRr4SRLbN6UoUhizLTG6wF+PE4= X-MS-TrafficTypeDiagnostic: DB8EUR05HT088: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZQBfIz+wJEXdgmakzhjYYnxAe/Kkk9vVv5XbLPE/N8VTKKOcJNhAeow/pYV6y1GZo/OcWky4JIL/XSpSywutTwQ36erbporRqRFp/eIJk6klI6+Zn4559xvYNqeVQ3/fAO+jwQmE/1zaKQr09qQhd4qVJlzDcW6FRqYAcuiGtQHOoUH1hRtvRdsElHc4ANBCels+9Bn7HpMS3UuexmRcrL3mE0OtjeaTOLPmkagfaMLVt0w9g0VBni4s9cwgz3Gnqmt+/lH4DNJ361Fo7wVigP6TzmkG/NKHbZyJM62EWqcGqT4yS09YfC3UpNkChhwOXdGCgPObeoN/udsOXBTOoc2gBA/tBt6V+uNV5BkJhMqEsIPSkYShSpKcdPNO+kKcMsCuOfCR8sop84f+Nb0RmA== X-MS-Exchange-AntiSpam-MessageData: 1SyFCrVdQIg7mKfaveDcY/+Je8Eg7LAIHAoL3/36UlnkSGZeb31lo5O2QWPm41QMa9qNWC0gBPL6mYc0odCv+DJ0I+wxHXq81+r4zVQGHrcj34zcOcX5jBByGV7g6QfbsPaGGJfVsmqwUndt7EiJHw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 084f2d80-415b-4453-ecdf-08d93055f98c X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2021 23:33:26.8930 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: DB8EUR05FT045.eop-eur05.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8EUR05HT088 Subject: [FFmpeg-devel] [PATCH 19/54] avformat/libopenmpt: Simplify cleanup after read_header failure 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: cv32nu40UED9 by setting the FF_FMT_INIT_CLEANUP flag. Signed-off-by: Andreas Rheinhardt --- libavformat/libopenmpt.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/libavformat/libopenmpt.c b/libavformat/libopenmpt.c index 628b0939dc..d04aec5471 100644 --- a/libavformat/libopenmpt.c +++ b/libavformat/libopenmpt.c @@ -122,7 +122,6 @@ static int read_header_openmpt(AVFormatContext *s) openmpt->channels = av_get_channel_layout_nb_channels(openmpt->layout); if (openmpt->subsong >= openmpt_module_get_num_subsongs(openmpt->module)) { - openmpt_module_destroy(openmpt->module); av_log(s, AV_LOG_ERROR, "Invalid subsong index: %d\n", openmpt->subsong); return AVERROR(EINVAL); } @@ -133,7 +132,6 @@ static int read_header_openmpt(AVFormatContext *s) } ret = openmpt_module_select_subsong(openmpt->module, openmpt->subsong); if (!ret){ - openmpt_module_destroy(openmpt->module); av_log(s, AV_LOG_ERROR, "Could not select requested subsong: %d", openmpt->subsong); return AVERROR(EINVAL); } @@ -148,11 +146,8 @@ static int read_header_openmpt(AVFormatContext *s) add_meta(s, "date", openmpt_module_get_metadata(openmpt->module, "date")); st = avformat_new_stream(s, NULL); - if (!st) { - openmpt_module_destroy(openmpt->module); - openmpt->module = NULL; + if (!st) return AVERROR(ENOMEM); - } avpriv_set_pts_info(st, 64, 1, AV_TIME_BASE); st->duration = llrint(openmpt->duration*AV_TIME_BASE); @@ -206,8 +201,10 @@ static int read_packet_openmpt(AVFormatContext *s, AVPacket *pkt) static int read_close_openmpt(AVFormatContext *s) { OpenMPTContext *openmpt = s->priv_data; - openmpt_module_destroy(openmpt->module); - openmpt->module = NULL; + if (openmpt->module) { + openmpt_module_destroy(openmpt->module); + openmpt->module = NULL; + } return 0; } @@ -285,6 +282,7 @@ const AVInputFormat ff_libopenmpt_demuxer = { .name = "libopenmpt", .long_name = NULL_IF_CONFIG_SMALL("Tracker formats (libopenmpt)"), .priv_data_size = sizeof(OpenMPTContext), + .flags_internal = FF_FMT_INIT_CLEANUP, .read_probe = read_probe_openmpt, .read_header = read_header_openmpt, .read_packet = read_packet_openmpt,