From patchwork Sat Jul 22 19:11:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 42910 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:be1d:b0:130:ccc6:6c4b with SMTP id ge29csp1011977pzb; Sat, 22 Jul 2023 12:11:04 -0700 (PDT) X-Google-Smtp-Source: APBJJlHWaZgXrJON1crgzfTof8qM7gEQfkXnQI21a7DClobqY9mOlY5haAy8IqXHiBpmoUqaeQb9 X-Received: by 2002:a17:906:105d:b0:991:eb77:74e with SMTP id j29-20020a170906105d00b00991eb77074emr4848156ejj.76.1690053064652; Sat, 22 Jul 2023 12:11:04 -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 qo13-20020a170907212d00b00992be132d85si3815247ejb.853.2023.07.22.12.11.04; Sat, 22 Jul 2023 12:11:04 -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=igoUHIuc; 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 79FAC68C668; Sat, 22 Jul 2023 22:10:47 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2020.outbound.protection.outlook.com [40.92.73.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C679568C19A for ; Sat, 22 Jul 2023 22:10:41 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YwwCrvMkCPgU4WVs2HgcCKDcjT8NO/QdUwLBl73lMDUK2X+s4ZuAOJp4VfIGARQtIHLhd4wwXBjqi5UXrl3r4ddGMGB3FAr1UCJqEa4A1vF8SsHFfS5RCctDAEZvZrgkF9tcYffeYl1CJ0bX7Zq4Ff+lvB/79XE07mXWSlN4Z8uHYHCwIqfv8sxO8j/hCQpXOQn1TYtO6UUt5kMOgXv/4RZfOwt5IOFKofkpLmboThqQ3LFvaq1oTJYHtruaZWx2tulXMYD0vSttwIretjQArYCAUK38up1IVTZlI6/+2c/r0C8s4HT6fKbtKGTzc4SqGhBoPdmnoJYrgpDU3A8vdQ== 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=gpt5XBp1NsQNEg4N/Fp3evgJbBVwEdVoZSokuMHWrdE=; b=UWFQ7+SzYe6uAtsUD1Ep2KrZwQFvFELa1QVEGx9d9ns/ETWKe0EMmdKWYPs6Gkc5tp/N7wXGbgct2gNHy2Gbv2EDscULvcvUkRLPqlIcY+sRoUSEJQ6tCQvzWxuJTImq8ljUXBl2OVgNZ+b7u/a/ayyLRJHnRehZzth8RfYvDmif5q1eajKCJCBfUE8dMUBL+WXOGypRPwdpFPeMvSVxrgGWFdCEZiy6Z5R9EE7TEmeIvkxc05X1+2PR/WZBnednirbap66p0Rqo7GN73W6cafMA9ce77cHXriEnytkyDXolQZJI6rQwgrV73bxoy/keeWEUaE9C5Mt8As1ujDSKWw== 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=gpt5XBp1NsQNEg4N/Fp3evgJbBVwEdVoZSokuMHWrdE=; b=igoUHIucEK4uTI79PkSY9na59gF5wZ8jvmlyqveXCnlgtL7+MRXEyl9Eop9CIyk0OQqPNHzIhlNKEslMwXk2ZlqBz1j0uBm+BxZ9Rrr0PKBlCmOBIK3Wb41IU0XFGvcSqJWeNdv3cKzzgk944Wf/By0jtLy3CRjMpHK+63xWQG0Gez/ZZ8nJS4ap1cYsP1iOpvfv7wG7ZHcltz/tcNV7/6tpFvMZeE/UHuJ8iivEVK/8/+vUHH8KHNsLp5dSSuEiaWO+Cpp4BPc1h7zsyJNsfXrIgCEVxAIAz6S6AgWU6IjZl2/FobY7fGa1px5DJdor9wiJQLg8lG3jp/e70Fa/GQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0218.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:379::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.30; Sat, 22 Jul 2023 19:10:36 +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.6609.029; Sat, 22 Jul 2023 19:10:36 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 22 Jul 2023 21:11:29 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [Te9+KUWxV5bt2jpXnSUuqgMnpawVM0JH] X-ClientProxiedBy: ZR2P278CA0049.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:53::15) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20230722191130.1251075-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0218:EE_ X-MS-Office365-Filtering-Correlation-Id: 3e87ca80-1589-46cd-c78c-08db8ae75443 X-MS-Exchange-SLBlob-MailProps: EgT5Wr3QDKy3M6SAHU+5RV9SgJexg5ijL4rncciuU1Q/O6L/lGlVl9Lc/roSuQZxoA++ViZfKXDMC3DvhABeZb5/BhNSQpwtd9gQR30Jks0+IBt316RWZ8Ne616qAOFr9Q6RBOFL6Y8Y08cQ4JnaDezOZmdsl7gVGB/D/keQH6uX1dwr8fCNmZYfNM+PtKPEZEt4hkI6DqoRxratmtPtljo5bj8ygKmn+GffsEHzHItQuxWL8dR9DJqAOEe8dwm85EkNgBIUAR7PH43eA5O0O6Biz45QCkcAwZJPToP4uutHL7zhUltLfWSt6CPmQnheGfb4Hfv3pJU8z00jKP3zN2jQP8Ghbpgen2hQ+QzDLejXn6SeEocOb8+LwH6+Tw+AwjEntRIsnNXOlAwdOH57lzdrsfCM1OB83hVbmgHDF1v4bbhyn0hW/qnJQi++GUNlm3vVajQi4pZXhlqyNPdNYcLtwtd5RiLpViNY3aUYMt3km6Mx6NJ2+IqwJqv+AH693C18CVCYIsRGSATaZiZjuqk0UsLMpQ0cs87vP3y0CWM0Xgcyc/OPOGKrku3jdrAd0d7t+YRujX4zIZAnFJwkeDxBYYPG+CC5OvPxtMdqFoAYmfnQlbJ2LwG3O4/r1FnaCOA4O91ORKAMv1+yNcXDv9y4+akHz0uMGTlAEIbdmGyoVvlHxsd5JXH1k79fQFKUsdR1SMhW55QojxYsi1UNAQxLLiD0q5D0W9tQEbINdDA= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HuxFSCkoByKg3bQoLQ7jffYINHY2+BQS0sTAZ06NFmq2nPBvaCODmvegx5wE3T5YO6UVvN3+NDCPs1igghi1CO32qMO9HLNKS5KQzHPfnBz1vj2/oKH/zdor6nYjRnMOLunH5QwFpRYFW4hvQf8Mv2L4NP2oh9gOiJUHjsazoQEUIuPj7KLevS8OUDtCLxylPGjBSkdWGWDvrUhHp088ptQbPI4kju8QBK/H+/XUGzHny5jRIUrE+w82QXScmP4WiDlMXgH+viyz51cYEMGJ121TU9JO2UoODqPXblXfI31uW08S2qabFFF48ItZOOgDz/r0zzCNF4AZsqg8TDGmbhlbXPQxzt3QeNHMGgbbBxLXnPXdm8xZp+LwgTWQoAu8aCK0KnVKiqBpK8qbnC2OfrP3717kf6VsTtZNtrIR6VeIY+PMH2uNe5yX8jlnwZF30bJDrPFQ7OmkpkKMr6E9rL0BqV2Ufkh0V47EOo+UbdMBQ3br9pkhtIlsuNSUfToCCItt+9LmnHXds1/d9+Pn0Q8aMELPgLz6LzIX9lTpwzCo58sTcrzAENaekwF64dmGaCbADEl+inI7IGLKX2a1iqrCP56N/L4qfHCubJn1kCJZSDc+eA86AVd259IhdeIp X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5XDocmFTEYjDRP97LEHSQ3LRsQmbNYmKgdJAz287FnQbFWsE570OfCwMvgnheZH+PuzVCs78vp0H58EvNMunr4KnS8BkMBB4zi3vzs4n0evOsQwZbLclkeJI5OIO47CCbscwbJZ6O44MFSxMhnE4MURl8rzbKIVeSrEwmtztd79DMs3sveTm1UtNywTBuNBafaIl6iS1sx195KLTZ58955BmeqV/8h2szFQWZv5Dh58++k5+ApHjpxCZHDlsLcfBiaCWhFjHRw2AujU/9yIpr3kvZeTGpX9KGBX6uFmwAF5aZ0fREUx92WFarAN39Y5TLRgIYI9YBLkMiqp+7wDRKNC6hDfO/dU8gJNkO0HqvgjoF1qhx7AGHvkHDP3bTuoMxTleagkUNh0P6S36AR2nwWYHL7JI9cQpqUUi3b8zLUJ5CF8SfwF3+clN7MXWnwq8j4IFX5L8QBh9Y6eeDWf1JjlmSK9OvQ+iTWSnERFdZL+MmjECYtlpoHQ2j3GDpUjgvaNLv5u3AoGK6cJEH8fE8nadYJkvKzsltfzXm+CHsLCafW9Ss155sOUUfoEQ6umKpvzgidZH+v+T4Wlp5naYCV57STd9nP8iAxOYOxR4PIsqN7hP0MzB3AXpR68mHCB+xE3nvHjxAm6SNEPCH71ev6m66+ITeRpRN8gI7ZSaoBtlKRjAxzfxLFK3WapXyXOvi8QSpTk61ceTaoZNaPsHZMX60vqAz6xfQQ2tgoREN4LSQSISUm/bg6oSgq1O12oKFYQTHqY3S4wdS0WXGazZmOeVHNVnS7xKbluYxxrr0F/zQ8KJKhYJUFDiA84ktUDCWbtCMef7oS1Hi20m7bIZ2eDubazwZ1xoDFCRD9+L34HJvkn+xpxayOA49/xgcT1NNcgXvza+zk57YxZTH8fbmogH4omEbUEneyfie/hjcLsKFrTkd6pv7tGTKGiBTVEZOfIwT4CXL7+rJracroBmAMs9u7DaPbRxKPRSMsOEx5AuafCtRKGE7i65Hek5SGcSKX3bS9I9qCKmddeMuDy4z95CtpKiHe7PXsMO99Plit7dHgYJNqHee0vfasyFPeoKKK5aV0DJsuSCq+R20tPRcEQ3+OvqCyLc84VqQP/jaqlFwfbBe0HFlQjhMUFHRy2LsfFIhSrKE4LxKd3JCECPvth1YSJ/IoJF/fVqC/etHQe72DoBoMKwbTCJwUkLKfP4lkHlmlM68Ru/7rvD6sUeHy445OzFTG/ATzHoWwiKTALcc96Ghbxzf65tiRib8F34 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3e87ca80-1589-46cd-c78c-08db8ae75443 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jul 2023 19:10:36.1106 (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: AS8P250MB0218 Subject: [FFmpeg-devel] [PATCH 4/5] fftools/ffmpeg_opt: 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: tNfxsZs9H0IA Fixes Coverity id #1539096. Signed-off-by: Andreas Rheinhardt --- fftools/ffmpeg_opt.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c index f7606ae6f6..1860e9d329 100644 --- a/fftools/ffmpeg_opt.c +++ b/fftools/ffmpeg_opt.c @@ -401,13 +401,14 @@ static int opt_map(void *optctx, const char *opt, const char *arg) ret = GROW_ARRAY(o->stream_maps, o->nb_stream_maps); if (ret < 0) - return ret; + goto fail; m = &o->stream_maps[o->nb_stream_maps - 1]; m->linklabel = av_get_token(&c, "]"); if (!m->linklabel) { av_log(NULL, AV_LOG_ERROR, "Invalid output link label: %s.\n", map); - return AVERROR(EINVAL); + ret = AVERROR(EINVAL); + goto fail; } } else { if (allow_unused = strchr(map, '?')) @@ -415,7 +416,8 @@ static int opt_map(void *optctx, const char *opt, const char *arg) file_idx = strtol(map, &p, 0); if (file_idx >= nb_input_files || file_idx < 0) { av_log(NULL, AV_LOG_FATAL, "Invalid input file index: %d.\n", file_idx); - return AVERROR(EINVAL); + ret = AVERROR(EINVAL); + goto fail; } if (negative) /* disable some already defined maps */ @@ -438,7 +440,7 @@ static int opt_map(void *optctx, const char *opt, const char *arg) } ret = GROW_ARRAY(o->stream_maps, o->nb_stream_maps); if (ret < 0) - return ret; + goto fail; m = &o->stream_maps[o->nb_stream_maps - 1]; @@ -453,16 +455,19 @@ static int opt_map(void *optctx, const char *opt, const char *arg) } else if (disabled) { av_log(NULL, AV_LOG_FATAL, "Stream map '%s' matches disabled streams.\n" "To ignore this, add a trailing '?' to the map.\n", arg); - return AVERROR(EINVAL); + ret = AVERROR(EINVAL); + goto fail; } else { av_log(NULL, AV_LOG_FATAL, "Stream map '%s' matches no streams.\n" "To ignore this, add a trailing '?' to the map.\n", arg); - return AVERROR(EINVAL); + ret = AVERROR(EINVAL); + goto fail; } } - + ret = 0; +fail: av_freep(&map); - return 0; + return ret; } static int opt_attach(void *optctx, const char *opt, const char *arg)