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 3494147A54 for ; Fri, 29 Sep 2023 17:27:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2186A68CC97; Fri, 29 Sep 2023 20:27:19 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2064.outbound.protection.outlook.com [40.92.91.64]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A3A3D68CC76 for ; Fri, 29 Sep 2023 20:27:12 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U+LXNLyeh3LZJIv854RiY/9jMLfn/QYLzECLoLBgXpFBwAyDzrcqgoVTO7+1CMslGQyzRKmKaaA6LebCESLM0Zgncdw16FJWD2B4ZszGpzD64rT0L81QgoBfl4kfqMWOTMqCjVZzBIs6dXDLkpwYkGQcN/FyPpfRMTi5y6hU2w/s1E1KDekP8CMrMqgSYmuIn39IGQTxRIyMWshtq8WbUfkOGtm4Xcu/Q9vIib2VqjFTbjksrOmyHPvVYCu//W8yVZe3C7VZTCwHOxe0p8r9a1h5zg1dw3SLJ7rXafkuo6priEkzW7Tt8oZGNX+XzK2tcqztWi60YWQpctRYQFBxfA== 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=NJvo7wotxempmGCJNWh06j2c92bg3L1CwuubvS2GawA=; b=NSxMR8s2+7heeW1IThClSWHK4Oo+u2e93ouBMiqg5d3g/dmn7AGPQGmJvJU3DNEo44imJr7sDLCy/JQagVekjLG/m6rmcB9cRA1EArQnMTLW+r75rjd8H1FEVwXVLRtW4YtDQyetlz/N9VMGRsEE6Rn/8wLviVAh2PTk121jfMTvKIfu83JuTCmXSi0vTvqY9IX6ajbazcQHshmSLdyQFzn+CvoU+u9AUMrv4Nrwgs0wL37tD0M3F9jBGEgLTw/SdWr91ACdfuVsqcizMJ5/xJPrCYzgFdIrucRIr2m4WFMMthTZG2NUtVvejXTq11vj41py6dNdhVp/QB1j4dFIVg== 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=NJvo7wotxempmGCJNWh06j2c92bg3L1CwuubvS2GawA=; b=kne1rqPZC4qWXTO0qpOtzLO5ZnXew0+ELktzu2hnxsXrylT4UpJJi/92PCBZ2/I/3UiiYbsztmOD0RbpNJ4+P2HSqakrASHaIp3/UCDpY+r40bkwnldnyKsAI/Tg7XfLyKma1sxx8rxlNPjoU1wyN+yWJEmgwOA/bUT0HHVMZSzMDjmw1jVlMq3ye9UwhfIDABDjFNOHVz8vCLdju+a4UTgMjz4bNEotvYfSEovxpUYKMr9uTwUspzd7Py/B7CMIvAsLzc/lsu2nqQltz3Ea2Dle9PqqCBawJpyriVA9M4txZrLIj3yk6/bGhDm1om/hUu/lPERoZff3py9ia6bOuA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0047.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:23a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.26; Fri, 29 Sep 2023 17:27:11 +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; Fri, 29 Sep 2023 17:27:11 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 29 Sep 2023 19:28:20 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [RQT0SZZ9Os9FgWUp1aNf6mWOY/4ivUUF] X-ClientProxiedBy: ZR0P278CA0171.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::9) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20230929172820.2251316-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0047:EE_ X-MS-Office365-Filtering-Correlation-Id: b61391d6-377b-49a2-8929-08dbc1115034 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HLnnHAY7TWWCkDqbnjb51Rk2IV6uBaLlreXNOjU46c1JdMOeYZMruD6SsHdzNHbqllzlBDEptKhrXDhFaSJ+FOyrcaMrmzkqdYOBKJ0lILE1Yd9RetFegLyR+fSEOzduHGQN0e+Y01Pd3IkeEK47cxNKuQncQGxRNcvbgOi6XhGG1WaOqI0ASNxxVIZJgJyPnx8p8GN/e23271Ro3xNVnF9srZiqaEceS3+h0l2HnGAH/uOB4gm6ePAn+0r4b/vhHgmDA7mB5e2klwA76wssDrAJ/cENVQWXlj0jqeRbxgUQHxVH5qJE7WZWR/EN0cxoKFwNlDDM2zJU13sxN8Ip6fE2DfJcWpCUQwx+uKG2cru0dDzzTIrwpzV/BjaUVcbjAjQGjuktHauWNL/1DLp5FDt5X+xg6WXwLRMTq9dzBgdWb6nBr65Tkakr4zFK39tElZS5yyRp0Rkvm9on42sfUWlnJS6z1r+wOQVpA+gFPTSGgTt/lf55DpPMNmrGmMmVqCcKP6LdymR2qCzQHPeBvbX14kEZrDS/cQ6BLO6YPYEjosvN0IpfhYzq0CfI+fZ8IfP/3b6XX4Zk5yLf9v+PFPNs1jeos64Rh/D+FUasD/SFxq+ysgzMjK1+JsUrjOb0 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QIub5V72NfK5frXPVida1XlKNGr+WeQVthEXpnyoQ2edhKo9rua3A6M3SY5f?= =?us-ascii?Q?32oL7Qo9SjuoolNed2grS8llVDJlDDV3PZ9fCxnkqNUHpjv0hE/T2eTjixiH?= =?us-ascii?Q?DkMSXjarX3WcUVm+BcNmhG4ooT7Iv7WEkv0kdihTUOaFuoQx9QXtEaIlJVYS?= =?us-ascii?Q?Ir83Sr/jg/ny2E8UK8Nh20S7F+PLulx/+8FnCDAJsHy2m5PQkKNU9pdIIlsQ?= =?us-ascii?Q?gFl1CIceHeaGBisGLXDOkKM3wKOJlA5OZRP0kqhZ0/UBE9I3iPkNvkVNWbaM?= =?us-ascii?Q?+7Upis21phbvobk+zLWL9gvRcarQv1rl2rtXlLQULrLyt56QEcJ993F++3EJ?= =?us-ascii?Q?cp58pZlGpl9CHciKhjSuknCVEjXZVJLsJXT+/dP37c48ZNiEun4HwA9rSJfi?= =?us-ascii?Q?0Wd0tOqrLH+rQ/3mH6YLT8RC/oG8qV+wDrPrzW2QQ2EthmRE9qgaJELXJK5o?= =?us-ascii?Q?tHk7UX3maexJtPXWe7aC/JWhWbllso4MPjE4YXJUxsFcurbdJoYMcCoIRQhX?= =?us-ascii?Q?op9lL9kfshK/Uj4aDEuqZ5agK7RVUBobAFM4YNkmk45FrIOfC885K603Qxun?= =?us-ascii?Q?CBAQvdVi7VPFnh2F2kiWoLBoM6pt0cXujqpUhfpXrQOmsAG1j7awZKMUKUXg?= =?us-ascii?Q?yb1uzxoiY/Mak9B4zFd57cCNvwcXYR7np0Siqohn41Pr21fZIMKcxXuuAVDg?= =?us-ascii?Q?KCjPW7zgYBmRmOARnkIxtVBjIThieJPoD4JThvRwxBTK8lZ7a6rFaKL9LTsD?= =?us-ascii?Q?RQyxU9ONA9i9SN3Y3rcgJcOnW4fDDJHd9AugQrjzY9HLPHNaDriFhpn0oV7j?= =?us-ascii?Q?dnus1ibKJaHt9VvHaLkDAnAjF6H3RXRMab9oDDhNkxoP0vnPOVUZXHZvvNPH?= =?us-ascii?Q?wv3qAnioH8KTzaoZJIrY0r3H/U2dmFO4Qw5RgMDFMjje+JdbfFXV9ilpTAEX?= =?us-ascii?Q?f3ttbw8Y89A0Qfp0kRKqkD3N2AduxuSbj6odvA64z5/CKwnlrdvIBU8HXxg4?= =?us-ascii?Q?P9aDa8DyIOHJyzQ5Kkm9MGGwRw4jUK5Z34igZ/qMh/SSH/AXU/xHnvIKeYm4?= =?us-ascii?Q?XHkluX7xAlENQQU7PsDga37fQk6MpvtPs4se68BOXA4a6Eu4JYeGAiNYE19z?= =?us-ascii?Q?2fAJZy1xYmAhp/r86duim4+p3u5SkohmMAkoNvZie3XqDeX5TYpIubwt4Nkk?= =?us-ascii?Q?LK7V4+mKhB5VVdcouTJjsN6t3J8FRZcDSmyHGqkGvZtWzjLvHlbglnr4DMsW?= =?us-ascii?Q?swZLMBPGh203t0do5qHk?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b61391d6-377b-49a2-8929-08dbc1115034 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2023 17:27:10.9644 (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: DU2P250MB0047 Subject: [FFmpeg-devel] [PATCH] avdevice/lavfi: Fix double-free 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: After the AVFrame has been wrapped into a buffer, it is owned by the buffer and must not be freed manually any more. Yet this happens on subsequent errors. This bug was introduced in 6ca43a9675d651d7ea47c7ba2fafb1bf831c4d0b. Signed-off-by: Andreas Rheinhardt --- libavdevice/lavfi.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavdevice/lavfi.c b/libavdevice/lavfi.c index ec7ebdbc90..2bfd0b81c7 100644 --- a/libavdevice/lavfi.c +++ b/libavdevice/lavfi.c @@ -365,7 +365,7 @@ static int lavfi_read_packet(AVFormatContext *avctx, AVPacket *pkt) LavfiContext *lavfi = avctx->priv_data; double min_pts = DBL_MAX; int stream_idx, min_pts_sink_idx = 0; - AVFrame *frame; + AVFrame *frame, *frame_to_free; AVDictionary *frame_metadata; int ret, i; AVStream *st; @@ -378,6 +378,7 @@ static int lavfi_read_packet(AVFormatContext *avctx, AVPacket *pkt) frame = av_frame_alloc(); if (!frame) return AVERROR(ENOMEM); + frame_to_free = frame; /* iterate through all the graph sinks. Select the sink with the * minimum PTS */ @@ -423,6 +424,7 @@ static int lavfi_read_packet(AVFormatContext *avctx, AVPacket *pkt) ret = AVERROR(ENOMEM); goto fail; } + frame_to_free = NULL; pkt->data = pkt->buf->data; pkt->size = pkt->buf->size; @@ -463,12 +465,11 @@ FF_DISABLE_DEPRECATION_WARNINGS FF_ENABLE_DEPRECATION_WARNINGS #endif - if (st->codecpar->codec_type != AVMEDIA_TYPE_VIDEO) - av_frame_free(&frame); + av_frame_free(&frame_to_free); return pkt->size; fail: - av_frame_free(&frame); + av_frame_free(&frame_to_free); return ret; } -- 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".