From patchwork Thu Aug 26 13:26:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: YE Chengfeng X-Patchwork-Id: 29786 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp488613iov; Thu, 26 Aug 2021 06:27:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwE0pvUKDnIhhExsCNUHNqTfIhR/+IYkghqpYefGuok8/+Hem3iH8rPUuzGxFI9BzzQRzIn X-Received: by 2002:a05:6402:1d33:: with SMTP id dh19mr4418643edb.10.1629984470861; Thu, 26 Aug 2021 06:27: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 u10si2695006ejc.522.2021.08.26.06.27.27; Thu, 26 Aug 2021 06:27: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=@connect.ust.hk header.s=selector2 header.b=RZkaSvyQ; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 62F2F68A0F0; Thu, 26 Aug 2021 16:27:22 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from JPN01-TY1-obe.outbound.protection.outlook.com (unknown [40.107.140.98]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9B2F76807AA for ; Thu, 26 Aug 2021 16:27:15 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j7Q1h1d5fAZFH4kHRFmpANXSMnsKiaaDfyPVKjNBNhkY8YlTk/lH1cuqwwbooW7KWUyn8MG95FZx99yKRGfzfHF4B8kkyxrpqTAAJACKKjHLTwaibM493f2oClSNu4ZITS/FLAdBA+xULr4GU1DK6JbfXiULu4gyXg2oV3rTKmXlUdWYsJUkcVB+zg7icAcc6z8Tt2WM5qUCtnvi+dv9Q+Oib9Y/biX6gwh/EgER52/NjYRNh9HptL7M0SNNTVk+93xIi+L+0FCY18J841PuvQWbklWwhZbmWwqERPUz/YOrprUleY1nPrEHuRxcHNqETAnbdbP8zyfD+moDZAEvaA== 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=BnIVXCkR7W0+WSV7ckLBRlV9Gz24SYrDKPL3pg1sxFE=; b=UjBCbQi1rWa7ddD78rZthmo4osCnR4j0V/vIowSGbRxrBE9USA4zec5v0EoKSP5IgfF8GrvusbTdAa9rYyOG2RWa+hoxPDqxArqRumPE/LLur4YoxaLujMs31ignDnY4OLtPSiaATxFUEg+6qBDCbeExBHMVopdhVEYMSjGoo5Aqlxky49iZynEZ81Sujwqbt4Dp9JC2t2W2QCaQVo+EHY6cdeGOg4qWpi6JXTT8iBlFc8q4P8lLz+jBogA1i684yx4pkivpRHuM9RbNCBMoZxqOU1ncCgUZLTEcHvzLEX1mN0BTbQUXslmbsQbP81bLtRvmSlCsrtgBLCaNWCtx5w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=connect.ust.hk; dmarc=pass action=none header.from=connect.ust.hk; dkim=pass header.d=connect.ust.hk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=connect.ust.hk; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BnIVXCkR7W0+WSV7ckLBRlV9Gz24SYrDKPL3pg1sxFE=; b=RZkaSvyQyGu+RnA/BDSh9Xh8GwGdFqxnsdyiXAD1jOQ2CQ0tpw82YBLHM4rr8jHijm1Aerra6WVcVqr1vhRsS6NWBmM3M2uLSE7G9mXyfi3L+bD7gOtyZZbdtQUu0VFdQcXNiLiRH8xxpiYrEBzXcltqm1V02m7fJiK7MKhwRww= Authentication-Results: ffmpeg.org; dkim=none (message not signed) header.d=none;ffmpeg.org; dmarc=none action=none header.from=connect.ust.hk; Received: from TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:b7::8) by TYCP286MB0846.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:7a::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 26 Aug 2021 13:27:11 +0000 Received: from TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM ([fe80::b9cf:11ff:5f5a:32c1]) by TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM ([fe80::b9cf:11ff:5f5a:32c1%6]) with mapi id 15.20.4436.027; Thu, 26 Aug 2021 13:27:11 +0000 From: Chengfeng Ye To: ffmpeg-devel@ffmpeg.org Date: Thu, 26 Aug 2021 06:26:57 -0700 Message-Id: <20210826132657.91732-1-cyeaa@connect.ust.hk> X-Mailer: git-send-email 2.17.1 X-ClientProxiedBy: HKAPR04CA0005.apcprd04.prod.outlook.com (2603:1096:203:d0::15) To TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:b7::8) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from ubuntu.localdomain (218.253.253.162) by HKAPR04CA0005.apcprd04.prod.outlook.com (2603:1096:203:d0::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.19 via Frontend Transport; Thu, 26 Aug 2021 13:27:11 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9bb3f7f8-b28b-4152-9a8f-08d9689535ed X-MS-TrafficTypeDiagnostic: TYCP286MB0846: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:256; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: u2DPfJ3HyjI/8fOCH/P6W42M3/wYJoQ2b+0vpc4ZttX0zpbWdTJiL1a0LdmsKqGzo6+k9w7bLm3jmQYuxQbKLTU2QFsXrLyGwp55SVV9ZidDkwZRJpY8KTNNJ2CIDoYBOmpdxY9Kin2HiLSolxIamJloISL45C8pWiid418OF/7UuPtxzTeYc6cN+6UVetrSr2FFfumfJo+htkwo3F8hreqHRMMJ+yBc69o7h0oSdss/ew4OGk2jigfURVCLhWLdeLlWytCwGVPgB7wUEbulq28DrF747krMn6Fh6Amku3dSbhhg1sECJIj+Xh5cRkAxXA3mnB/J/uvelT+/8b3XCEF6Sla51dTIudE7l2xTVivzBi+jFYNJcIQZe5+EaTJWjn9ZftmobHAZ3UE+1qN1W5O/yXhzpKuvf7SdBAM6GjhC3+mGyhT/kUMOhUZ9QZ+YHNd5pOOLqbrD82WJkfWDltwrJjWThV55HvpW8yVAxIICXDiirfBCWgTiq7cFC+uIoEeiYp2W5gcBnQAVxVgXyh2jLdd4kpQqel2n0hbYeXzXXJ+/mWHznWhA/uXp2i53KVnfVCPFIPQ+KNXUd00AW9nu60MFMLm3pBTK1wq9HDZm3Iq//QCWV5uve2i/Mt1+0bCtZsDeKIyynaY/Pidxf9gDgC0SLfHkZWDswmFt0/Rygz1XVLHWTcSvEdC/8hzRDlWhSLNAshdc2Ig25LH70DNfdscBgsxbXSxnmr8LJOq9oIB4n8+Hur2MJ8GAlfFYfQ6fR/euueXKErW1vuvT/w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(136003)(39850400004)(376002)(366004)(186003)(786003)(316002)(107886003)(6486002)(1076003)(2906002)(83380400001)(6666004)(4326008)(5660300002)(86362001)(66556008)(6512007)(66476007)(66946007)(8936002)(38100700002)(38350700002)(478600001)(2616005)(956004)(8676002)(6506007)(6916009)(26005)(36756003)(52116002)(966005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 01oFLtBB1MS8Ri1tQgDQobvndXTppQs94DbIwAzQYF6Ri7io3Y0vlJdPQ/OJZg+aCEp5rcm50/m/elgYrx26+ZLKtWRj6IOILN0my+UvAlVYCyG35dMM/hRWpxvKrfSiOGdo1VLK82EQA2oEHpO8xTklofM1Vm++7cHQSIAQihwejYxJc7bNLMslG3mhNEQPu/ySLL282bD+p5RIiDV4eqjrUVg0yqFIrzjfWQz0SUOaE4BtfMfXSRemhsoTgPGvQpoF/r1gS2dycybNHsWSh2I5l6fLTD8B48KWoI+XDY6num7Fk2oGm31Yn/dRlnuuXy/VFhamnTIGCPFXx5I5j9iFVm5aFdKp1d7fzdWz/cNNYt6OTXbI9JRRJSr8ONo4BQ/SFgxyjD8YUqGTkMzsktWVgQy96yb4HwdBsEV7+tBDgNQj2IWKGl1yRrkSW0TgecxObkzc8XTZXws5QW5AqTDacGr1ob/e/V2xTzHpYzMxJh9WaDjGPhb0kRCk2oK9xlnDgBqq9q6fwygTA9HqjE9hLG7kOdUwNLK+bYgJmCNyiBQwrHlEdk7De7Hvlx27Qs/70VCJC1OEEEYDCF8y2xSbfeU97KPieQymRDi5vEqAYwiWCHDGbPRNQSAFUGqZ7Ah76z+7FeauA1C0dFZirKRBHUgSRE5IM+c0/SAhZWgDmkHZ+kqKB3rlQl+4TargMN/FojtASitMdoqWd8V+VWvPrAg7kzcml9RW7jg4subzzNbo7QCYRtYglsvyGS5RPxS8XgTuwSdcIwuq286c6gGfuzjYl2YBISGRbY+jk8SZjhqcYHCQ3OmN6xqC5p32SucFMulkaIuhMPrcjX2w3lfpN1+R5hl68olpf+N9Lz2ETJ5SFC6rr8+LPymqAJe9FddTTJrX9h6PWmyCmuT0Izf/47/SG6LSdluZYXZoKDjQFe+JXu/r2mlagDE0S9jrDD+jhGmGOTRj2RleGSho50pBJhxEvh2BznpJVNGf0sRP6HNeMA9BT6hd12toHM2fJ+DcOKWX5NyRRj4mW4R3wqG7yM1mM3j5VO0OlDAKndzf1YuF8aAUoAvxi0TVcAsOCql55Ts3e/lu8dDPz4m+Vr4CIdJv8qQzn+URkjV2ozS5qziE3HlYsMtAt8ZGOv2OTIQY51xfXXI/5BQ5advt6jLJk3/u3XgIlkqMO4opZh7wktzdsFJzvrBwV69B7HdjVfoM+dDeHEaLlFb2g7LVPue1FSZGCOw3QwC07/fKjH1XZVvvkSu0z7DchPMpv6O6NVN417enbyEnNJ3RiRENODvo+B8z2hiIa216s9OmrSwfaCyJWfNNshwtPRWau6XP X-OriginatorOrg: connect.ust.hk X-MS-Exchange-CrossTenant-Network-Message-Id: 9bb3f7f8-b28b-4152-9a8f-08d9689535ed X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB1188.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2021 13:27:11.5558 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 6c1d4152-39d0-44ca-88d9-b8d6ddca0708 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0J8sFb5+TUVNdHcfIhOBL8dB255OL6e5FvEf7pbNStiX4vhfJhXRYgTK4lJbWXxgd+XyqOH7oQxJcKQ4qFQLNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCP286MB0846 Subject: [FFmpeg-devel] [PATCH 1/2] libavdevice: Fix a potential deadlock issue on the lock ctx->frame_lock in function get_audio_config 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: Chengfeng Ye Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: +MZjpt7yJwAr The problem here is that the lock ctx->frame_lock will become an unreleased lock if the program returns at line 697, line 735 and line744 Cc: cyeaa@connect.ust.hk Bug tracker link: https://trac.ffmpeg.org/ticket/9385\#ticket Signed-off-by: Chengfeng Ye --- libavdevice/avfoundation.m | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m index 1d108417be..0953a8b11e 100644 --- a/libavdevice/avfoundation.m +++ b/libavdevice/avfoundation.m @@ -694,6 +694,7 @@ static int get_audio_config(AVFormatContext *s) if (!basic_desc) { av_log(s, AV_LOG_ERROR, "audio format not available\n"); + unlock_frames(ctx); return 1; } @@ -732,6 +733,7 @@ static int get_audio_config(AVFormatContext *s) stream->codecpar->codec_id = ctx->audio_be ? AV_CODEC_ID_PCM_S32BE : AV_CODEC_ID_PCM_S32LE; } else { av_log(s, AV_LOG_ERROR, "audio format is not supported\n"); + unlock_frames(ctx); return 1; } @@ -741,6 +743,7 @@ static int get_audio_config(AVFormatContext *s) ctx->audio_buffer = av_malloc(ctx->audio_buffer_size); if (!ctx->audio_buffer) { av_log(s, AV_LOG_ERROR, "error allocating audio buffer\n"); + unlock_frames(ctx); return 1; } }