From patchwork Mon Jun 27 12:32:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wujian(Chin)" X-Patchwork-Id: 36487 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8b27:b0:88:1bbf:7fd2 with SMTP id l39csp1988423pzh; Mon, 27 Jun 2022 05:32:31 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sY4+qW5erWSogU7E3VZsZF85NW/pzk6SyNCiBD4MuhCRBCt4/ZV02q8JoUYbSeHUJVae+s X-Received: by 2002:a17:907:9715:b0:726:2a3b:9f84 with SMTP id jg21-20020a170907971500b007262a3b9f84mr12285429ejc.414.1656333150778; Mon, 27 Jun 2022 05:32:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656333150; cv=none; d=google.com; s=arc-20160816; b=eeXHQx4SqNY2h+CsTykXIysJOAJfpFFAySZghHxZu//3s003KkTtqD0KjyxxB1AJ+l 1hdVN9ijm/iWVjOJKXt7QKZPnbh5Ah6fXgXadJXqcfor0+eq97QCPSbmCcqETmWWyvV5 C6KFnAjlY7Rgfbp6Jee4jo3+LIpB2cr8sApfkuzXxpCAmCwsD9jLdP2+62sjCrGlMxBC upEoYKXfPVzcgGaWT0nduZFQhdECTCQ5kmHhZIcN4euWO5pafI386m0+4iK/CPYV0yv8 7ivBc11CbfLjSWUGPMhyFuPgLSCb3T0HLhq80WHN+CcP0+WrIp+Ol2nPb+BMloWqBUFA Il+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:content-language:accept-language:message-id:date :thread-index:thread-topic:to:from:delivered-to; bh=uMQ88wonqkICyCJZUVSmh/OTbvwfAzN24bgNUDISoQs=; b=FKAxoNExKkYCVwXVWFVgZ/hYn06P7OyrCatPFvQ8GgOV9BhSZPqGz/lxaA3STBI6Ji yLVIpjC5Ubk3F/1kZGcxn89fjQGNiPjNst6j9UoMX7C5SaKtD4xgeesc5iMWGn5rS9QV PWf3YAGIIzPrbUPFALnYqugnXVSfy7I0kz5G/JWlc797rtyqWmoyw2rRk1KctTLHL6gT HwJc6Kmdwc7HWtweatb3eODzxfF2nhjeR/UN0bKsdec/D1z20/CzcCM3k3Jsyhg6tg57 EfF5Abjgf5LN+eBHUQAQwEFhlndJXT0ohzbwpE7o1c2hAP6NWzSPfBHHpS3N0XumrfFe oeIA== ARC-Authentication-Results: i=1; mx.google.com; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dn7-20020a17090794c700b00722e3529906si13256799ejc.324.2022.06.27.05.32.29; Mon, 27 Jun 2022 05:32:30 -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; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0A81368B8AC; Mon, 27 Jun 2022 15:32:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E36CE68B6D1 for ; Mon, 27 Jun 2022 15:32:19 +0300 (EEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4LWnBC6DGWzYdP2 for ; Mon, 27 Jun 2022 20:30:27 +0800 (CST) Received: from kwepemi500014.china.huawei.com (7.221.188.232) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Mon, 27 Jun 2022 20:32:16 +0800 Received: from kwepemi500014.china.huawei.com ([7.221.188.232]) by kwepemi500014.china.huawei.com ([7.221.188.232]) with mapi id 15.01.2375.024; Mon, 27 Jun 2022 20:32:16 +0800 From: "Wujian(Chin)" To: FFmpeg development discussions and patches Thread-Topic: =?utf-8?q?=5BPATCH=5D_libavcodec=5Cv4l2=5Fm2m=2Ec=3A_avcodec/v?= =?utf-8?q?4l2=5Fm2m=3A_Check_if_the_file_descriptor_is_valid_before_closing?= =?utf-8?q?//=E7=AD=94=E5=A4=8D=3A_=5BFFmpeg-devel=5D_=E7=AD=94=E5=A4=8D=3A_?= =?utf-8?q?=5BPATCH=5D__avcodec/v4l2=5Fm2m=3A_close_the_invalid_file_descrip?= =?utf-8?q?tor_-1_in_function_v4l2=5Fm2m=5Fdestroy=5Fcontext?= Thread-Index: AdiKIdIddQ7vreDaSJul8Yi563MjBw== Date: Mon, 27 Jun 2022 12:32:16 +0000 Message-ID: <7e0573a80728473f8496972f1521df0c@huawei.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.136.102.143] MIME-Version: 1.0 X-CFilter-Loop: Reflected Subject: [FFmpeg-devel] =?utf-8?q?=5BPATCH=5D_libavcodec=5Cv4l2=5Fm2m=2Ec=3A?= =?utf-8?q?_avcodec/v4l2=5Fm2m=3A_Check_if_the_file_descriptor_is_valid_befo?= =?utf-8?q?re_closing//=E7=AD=94=E5=A4=8D=3A__=E7=AD=94=E5=A4=8D=3A_=5BPATCH?= =?utf-8?q?=5D__avcodec/v4l2=5Fm2m=3A_close_the_invalid_file_descriptor_-1_i?= =?utf-8?q?n_function_v4l2=5Fm2m=5Fdestroy=5Fcontext?= 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: P2LTI3De+FBe Fixes ticket #9507. Signed-off-by: wujian_nanjing --- libavcodec/v4l2_m2m.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- 2.7.4 _______________________________________________ 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". _______________________________________________ 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". diff --git a/libavcodec/v4l2_m2m.c b/libavcodec/v4l2_m2m.c index 51932ba..9849360 100644 --- a/libavcodec/v4l2_m2m.c +++ b/libavcodec/v4l2_m2m.c @@ -251,7 +251,8 @@ static void v4l2_m2m_destroy_context(void *opaque, uint8_t *context) ff_v4l2_context_release(&s->capture); sem_destroy(&s->refsync); - close(s->fd); + if (s->fd >= 0) + close(s->fd); av_frame_unref(s->frame); av_frame_free(&s->frame); av_packet_unref(&s->buf_pkt);