From patchwork Sat Oct 9 08:44:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 31011 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2084:0:0:0:0 with SMTP id a4csp1708208ioa; Sat, 9 Oct 2021 01:45:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwbiYpDNrkV1RBBS/HLJ9nXYHuaFmpcmDbl+cbgFh34eBZGxe2OHPJ44bX/49yY7q/Piu7Q X-Received: by 2002:a05:6402:2756:: with SMTP id z22mr22383366edd.264.1633769105374; Sat, 09 Oct 2021 01:45:05 -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 de44si2445351ejc.692.2021.10.09.01.45.04; Sat, 09 Oct 2021 01:45:05 -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=RBeJTEfx; 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 440FA68A6E0; Sat, 9 Oct 2021 11:45:01 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2088.outbound.protection.outlook.com [40.92.89.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2E29768A4FA for ; Sat, 9 Oct 2021 11:44:54 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E10XfcaEtl1D6agWYtvQrLcbegfj1l551w4T3N6VmxA+TOrVfD5aRIafXE51BHHbdGnL8byWFeeYZ6EyhvxEdFe5BRmj/F1eYBtbKvCzxDQff896dqWvGocRf9jl9TuCh69bbdL6/8tRXvGojgoKQr+TSOBCjUFCLmJ6MkbaoHDkM0jlyTORR+OnIYo/dLH/nXDucLwvHf71pmWRw/qqhYVCf2+KEXguNmeSomjLuVCz2y+9jG/ob5EMIErrmMTScCpJu+NktVyrWHUhRSukSWE6CpJykbfAQdTBPk2lc+KRsp9qs7wqARYPttdIB5wxFQgDaT3VwypBjPIBg1w9iA== 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=SdJgLcBtJV/WpkYIF7fSjL0MNgEWJx/2gLELzyOZOKE=; b=CebVwZkLP+KxMM76rM0FwEJxGGOC/QUPVUn2biAeszxruKXHDTnKxBohQ5MLIZZOP0JAfRXcOvbQMYrVoW/ah7thjhUYIvwbH2AACuZVqiBsbkhWMx+3dYnA5yG6fxTEWpujkKWzy1QDS636QSKlcydSO45WlIXSzG/q7akgaS3wCOLPp4CEzwMKYRwahIt5vbSA1zAzW6tm4Y2QzmKzQ6jqN7hSaU2LEgN8H6c6FQZdG4Ah769KZkJHfHxCNdTT6SvpVuUiMiOZ4Jmluygh4e71jgtspy4lCCsfmA35LBQGa46RDwhdzEVFSCZqVn8jdUbLU7uGi8qpEZRHbwSSjA== 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=SdJgLcBtJV/WpkYIF7fSjL0MNgEWJx/2gLELzyOZOKE=; b=RBeJTEfxgeQTzb1YUs4C0r5tezy+b9/nFGgB3sz9QOyWd25sCM8H3zYNX1d33ZPzYQSm1fmwnafvUiuW8ssuefOKUXEcJ6by/g4Gas5SrZOutE3teOVavNxcAe+GyLSAdNqhf5i1d/Fg1ET+umvcmaqVpvaImv5qeXD5NGGvEIU9zePzmNekC4jdq469BrYKXUPHUG/gnxUugSiBLPRIph4OeqCzB+ISoy2uEur2+T6W7m7UAxngwH47KQPApt57mYX32Li+m9aoqcWw9YSbE6qVlJacuC1OpqeeRkO2pHcVqEfV+D89X03sOVvTZRIJqDNl+Yu8GCo976azS1B92g== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB3830.eurprd03.prod.outlook.com (2603:10a6:20b:24::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.22; Sat, 9 Oct 2021 08:44:52 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::700f:d70b:3bb8:4d51]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::700f:d70b:3bb8:4d51%7]) with mapi id 15.20.4566.026; Sat, 9 Oct 2021 08:44:52 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 9 Oct 2021 10:44:43 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 X-TMN: [0A6PXAeuEGFedAE+DsjW7cSSu89e0bTO] X-ClientProxiedBy: ZR0P278CA0041.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::10) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211009084444.1505381-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.193.170.49) by ZR0P278CA0041.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.24 via Frontend Transport; Sat, 9 Oct 2021 08:44:51 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3c1b4271-3803-4fc2-e4aa-08d98b010f8b X-MS-Exchange-SLBlob-MailProps: EpEO96k6Wom1YuMMyazFFL/cIpqzWARBPibPgGBL3vorcO2rqimqVwXictTxlFQrySIyiT4mOH4NQn9JNeoueRJl3U8+4guel8RfwQbNoD1/OkiTjDsonj3I5f4CWLAj3z1mKg+PUKy5IuCThZlN/FVejuVmz+O9lvdsZrCgczyLiGQNjDEOKKdMyAbAtrSPYS1nSzS/BWRrMcwyYAxDFZpd64uNuWH976TeuoY/Mlm94NKLqR8N60vbxdR1xM6gLi1GATSGq1WHYso5QHtCyG/lMalfIpNGO1FNoz0u4/XwrWKs185sAPRDBKyGgDTWyb68k1D3kl7nUJthLqZcnpWGH1OSlAnmpFiA8Sw+SKkbXtzQOwlLUn7ba5OcDn1oWGE387dStd90BNkspU/+b00VnxcOb36D4CFtZ55XtPMl6Ca2XtzP6uPSigoEgimTdQ3lWznskN7rWvbn7yaKbw3vrnAer5th6rfSIloXRhZOgqFZOGhSJQKZyTg/lPoScaDgEI1Ua0khixv0Lw1VcWvaeMDBCnlLLPUU4grdytTm2Sik/DQdqKaRCxh7gs7bHzSmS8DqzpdVhlTZVjE8MlGQBC9MD6lWDNSm0xZbWMYeVCH+9pMmAHyih09Q6g96OUPUkrDeP6aU+CBv7BglFDPm7jvaJS2T0DKQdD+NuNc/T+NsMw3PSBv9jSQnreraFOdGZpbcEp5GWBqtVc7snb1zyw+EeH3I4Wa4eKzv+yqOQuQ7dKcPQ1VP7T1advlNLv27uFp8Rvo= X-MS-TrafficTypeDiagnostic: AM6PR03MB3830: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: skp/ccmK/jU83od0RVh0S5XFFcPexamRvPncrV5tGinLr8h/PRjjtWFyQPf53ekPuRbriZNHZPv6qnYHyiypPUPFbBu3SLb81gTHj2DOm/ftgFzstwuqkKR3X1d1Y3zdnu7YVMc7bsnfR1B/vjrxykNPml8Xayc2wDrodf8oBgsYgPoKtjAz5qbbEB9ea9Wu8zR+ZNablUZDanWjTi8+zkCwtos1/yym90/KajOg41yyNbkclKAOPBjMoogmWPxT1NBdD/IiHBTMFPALztcf4JRzb9g+REu3dEU9dg+dE0c/B1y9txJbDNlA/4QiiXXOm+h/VIVn7lZ9QTsmoIaEnTeNlyZMdl31tvAB3J1AdahIpv2c88H4+qVOrjVS3RYAWepdf6SbG+5kjYMbvwlo7rt/QmpDD3lsFbnJBfDK6pNebnhG2MdH71Hy1omjDxYi X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ZF1NxuJmBd0rrEWK6+VHQ3/gral4PPyiRWsDD/Z3Rmt+lkRgpvEqbMJs3sFjwqGJuB9X8XTtxO71zCWz5zEwEzBsIvO4cIdOt+z0iUVp32UlBp6aiLcje22i5hKcN5uB1YvmonE6upRgzAU+9JklZg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3c1b4271-3803-4fc2-e4aa-08d98b010f8b X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2021 08:44:52.4179 (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: AM6PR03MB3830 Subject: [FFmpeg-devel] [PATCH 1/2] avdevice/caca: Make deinit function out of write_trailer 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: yDuIETgbaJ+e Fixes memleaks in case the trailer is never written. Signed-off-by: Andreas Rheinhardt --- libavdevice/caca.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/libavdevice/caca.c b/libavdevice/caca.c index 5e8d40a748..90afb3b02d 100644 --- a/libavdevice/caca.c +++ b/libavdevice/caca.c @@ -41,7 +41,7 @@ typedef struct CACAContext { int list_drivers; } CACAContext; -static int caca_write_trailer(AVFormatContext *s) +static void caca_deinit(AVFormatContext *s) { CACAContext *c = s->priv_data; @@ -59,7 +59,6 @@ static int caca_write_trailer(AVFormatContext *s) caca_free_canvas(c->canvas); c->canvas = NULL; } - return 0; } static void list_drivers(CACAContext *c) @@ -137,7 +136,7 @@ static int caca_write_header(AVFormatContext *s) if (!c->canvas) { ret = AVERROR(errno); av_log(s, AV_LOG_ERROR, "Failed to create canvas\n"); - goto fail; + return ret; } bpp = av_get_bits_per_pixel(av_pix_fmt_desc_get(encctx->format)); @@ -147,7 +146,7 @@ static int caca_write_header(AVFormatContext *s) if (!c->dither) { ret = AVERROR(errno); av_log(s, AV_LOG_ERROR, "Failed to create dither\n"); - goto fail; + return ret; } #define CHECK_DITHER_OPT(opt) do { \ @@ -155,7 +154,7 @@ static int caca_write_header(AVFormatContext *s) ret = AVERROR(errno); \ av_log(s, AV_LOG_ERROR, "Failed to set value '%s' for option '%s'\n", \ c->opt, #opt); \ - goto fail; \ + return ret; \ } \ } while (0) @@ -169,7 +168,7 @@ static int caca_write_header(AVFormatContext *s) ret = AVERROR(errno); av_log(s, AV_LOG_ERROR, "Failed to create display\n"); list_drivers(c); - goto fail; + return ret; } if (!c->window_width || !c->window_height) { @@ -183,10 +182,6 @@ static int caca_write_header(AVFormatContext *s) caca_set_display_time(c->display, av_rescale_q(1, st->time_base, AV_TIME_BASE_Q)); return 0; - -fail: - caca_write_trailer(s); - return ret; } static int caca_write_packet(AVFormatContext *s, AVPacket *pkt) @@ -235,7 +230,7 @@ const AVOutputFormat ff_caca_muxer = { .video_codec = AV_CODEC_ID_RAWVIDEO, .write_header = caca_write_header, .write_packet = caca_write_packet, - .write_trailer = caca_write_trailer, + .deinit = caca_deinit, .flags = AVFMT_NOFILE, .priv_class = &caca_class, };