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 E6F3240B54 for ; Fri, 4 Feb 2022 16:20:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4F50E68B259; Fri, 4 Feb 2022 18:19:52 +0200 (EET) Received: from out203-205-221-190.mail.qq.com (out203-205-221-190.mail.qq.com [203.205.221.190]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5C00A68B13D for ; Fri, 4 Feb 2022 18:19:43 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1643991579; bh=gl62rx6/VmiXgP4vcuBtTWBSUm328mM5dw6XhH5hb5Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=tqdrN+nelsKNoH8XTLybHi1gQSg5rufwHTrem+u0Jli5JMlHmb0Biu8mmBa9BAhfH ZwcWv5JCwCugPlA1y0r2CTgFVvevPH4fFSrXwV9G2vyn6DAhJA5H2d+aH4aAZwVzCt uOLoyZI4DZr8C1/aG4BYzgMnIKUK2aJIr3LC147c= Received: from ZHILIZHAO-MB2.tencent.com ([113.87.128.216]) by newxmesmtplogicsvrszc6.qq.com (NewEsmtp) with SMTP id 4E53E094; Sat, 05 Feb 2022 00:19:37 +0800 X-QQ-mid: xmsmtpt1643991578tdpsx50lx Message-ID: X-QQ-XMAILINFO: NNYn39Yc17X1OI9XURHAqz79v8OnZoolpzAKUZek7dXvXm7pdW7MAz84z8K8DP 3NBmSVac9ApHvUCXAFNQFbNeIx3Jvf/r2Kqr/oDgrcXKCqaJdmp5Wi6zMFU69IXS6tQCu6tDhbXS yugEQ50MZJyxqYAapH+0x+duq0L6aipRTLGbz23N9+NfgCz2Axl3X+G21qtjDY/RvMwiji3x0DXh AdY9ab3odDpimVgU1sgF9d8C0eMjA6ClDrwpsKHyZMlvCvMSNVtjqLbP+45KE74L1apMC956lzJC jT7bu5Qt1wIxh7J/sCg41mP9WY0iTScA/8HEukexhaP/1bN1NdMVnkNlCUKV0MNEvVDAQGFdQPPc 9JMMb5jrdvgmRVwrIJPqj3+z7a7h0xEyOqNUVbpTpPOYTaMIbS4qrwFlZosl6+n+RwJK/kQV8Zse 22BcZZ9+1IrHH9M7118sOsBViJ4XwvCnLiR/sF7pr7e2d33p03I0ssOmUb62mznWB2bCNtY3NdH8 nxPTN309f9KYNkKof8TkR6Hg9WbrrapSRLfnRUS7ZHw3h9iNoNNv+FSQQKZDVTAOQwtxUJH384nh noHZCFbsROd/Bn/wpbUolgH1DrujtfLL5FBo33U8M4ngmq2YFrIdZE+STRFsfFfRqlEHqZhRxWRC CKX18UGQas0gw2fyhzBzHIg14oxJdq4XMfNYSzHU6Sd7/It/gWMz/ItTAXvWQ0x/485eg+PcKPH1 EEmowSVTCv0+7FbyrIrUw5ci7qRMi2Nu3uRy9CqUYgHywGEM8Xi6pLlLLFHgSqEmk+DRa+Ae+7wb ViN5vU5mW4njk7A8MyUzA73O0rbeKo1pK3q9yT82yQNvQsbamQoFSR9ECdVZkXqhIyn6GsHyoDmg == From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Sat, 5 Feb 2022 00:19:35 +0800 X-OQ-MSGID: <20220204161935.66247-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220204161935.66247-1-quinkblack@foxmail.com> References: <20220204161935.66247-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avdevice/avfoundation: check strdup 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: Zhao Zhili 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: --- libavdevice/avfoundation.m | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m index 2078c4879c..8f5e2bd120 100644 --- a/libavdevice/avfoundation.m +++ b/libavdevice/avfoundation.m @@ -310,18 +310,21 @@ static void destroy_context(AVFContext* ctx) } } -static void parse_device_name(AVFormatContext *s) +static int parse_device_name(AVFormatContext *s) { AVFContext *ctx = (AVFContext*)s->priv_data; ctx->url = av_strdup(s->url); char *save; + if (!ctx->url) + return AVERROR(ENOMEM); if (ctx->url[0] != ':') { ctx->video_filename = av_strtok(ctx->url, ":", &save); ctx->audio_filename = av_strtok(NULL, ":", &save); } else { ctx->audio_filename = av_strtok(ctx->url, ":", &save); } + return 0; } /** @@ -760,6 +763,7 @@ static int get_audio_config(AVFormatContext *s) static int avf_read_header(AVFormatContext *s) { + int ret = 0; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; uint32_t num_screens = 0; AVFContext *ctx = (AVFContext*)s->priv_data; @@ -812,7 +816,9 @@ static int avf_read_header(AVFormatContext *s) } // parse input filename for video and audio device - parse_device_name(s); + ret = parse_device_name(s); + if (ret) + goto fail; // check for device index given in filename if (ctx->video_device_index == -1 && ctx->video_filename) { @@ -1002,6 +1008,8 @@ static int avf_read_header(AVFormatContext *s) fail: [pool release]; destroy_context(ctx); + if (ret) + return ret; return AVERROR(EIO); } -- 2.31.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".