From patchwork Tue Feb 20 12:08:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 46389 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dda5:b0:19e:cdac:8cce with SMTP id kw37csp1806702pzb; Tue, 20 Feb 2024 04:09:21 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXCCEAUXyoEC2JuBd2Ow0vkVXYv3saG4aC2/OuI5mLYE1yBzgR4svX4T96K/0d5OY3yEufvRvosuKYk5SgYnChOJOKwYcDbY0k5QA== X-Google-Smtp-Source: AGHT+IGOlj6uPKoQRcO0yHp5Xg0wvRLilQbbXVmNRK1aeHn4sZbB3eIB216uNC4BvtlW5qCAYaLf X-Received: by 2002:a50:8754:0:b0:563:fc40:626f with SMTP id 20-20020a508754000000b00563fc40626fmr7443042edv.1.1708430960702; Tue, 20 Feb 2024 04:09:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1708430960; cv=none; d=google.com; s=arc-20160816; b=dMI+iYlTqv3B5tvhSaEQdvp+DDwEES0cuyZKfirXnRuk0Y70yXs1gip24D9ch57Dps HXiNMOnHVHhAG5+OljtuX9eiz4d11DsgTfD13fHeqYO5HtRey+OcdY9CK04jLMsWcOhc 00cfSI+rmRU4qUX2Q2glIsA/4SCdRNsg5kh+kLSgosJ+nVyn8WaZsBQqtD73EY9DADAv zH9ILAc+jAErGxrLTqEonZh+t6E25ZpNplvU81yUM1Le41mkESxRKn7Qiy17AnGYi6Nx Bfa85yC6V+ZS6Q5Ak4XEuIAxftM1ScYdI2drjydLW4xJrlfl1ASBAJxJDinYKtBGC7FV LDWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:date:to:from:message-id :dkim-signature:delivered-to; bh=a2yjkRZFyWqcPwRshax5N/LXTBVPIo3VWOIXsOoPM3E=; fh=1uPTKUvRnOgiEaYgKGzgSxEgTIS1PbR5TNt1/RunOQM=; b=KRGE95zUnu0JMPBxMWR59YLzNs9LonIxpW/qRfCIVaLjmOMHX1G1UcxqnprSHecoYe diL9clwRD3Jc0km0a2jWjJbzWWAGu2o5ZwVZilHKMwhugsocG/O/IpRm0JV15l5Ygla2 2yrrhux5ibqD4CvQspwmTfaEekVWABo+Ym02dOWb8jTsLmlQYolmhLcl49hviz/KCCp2 8LfGLy7ZMZhr4CWds9Sj5ZeC8RB4NJo9ulJoTGcW/blrSY88NWCwowfkaQE40P9ssALk nNKwVMLbjjXOhmIB1z8plW/iPzXlGWwaelKNJ3gKiPExYlvdq9o/dTgA28/dx/APVVKi /DKw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=JI2ghuNc; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id q2-20020aa7d442000000b005601076cd58si3241615edr.334.2024.02.20.04.09.19; Tue, 20 Feb 2024 04:09:20 -0800 (PST) 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=@foxmail.com header.s=s201512 header.b=JI2ghuNc; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5373C68D015; Tue, 20 Feb 2024 14:09:15 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-251-66.mail.qq.com (out203-205-251-66.mail.qq.com [203.205.251.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A74E168CE0F for ; Tue, 20 Feb 2024 14:09:07 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1708430942; bh=ipMmv4y/JEGRtVwngNWJB1ny2RK4dwBE8R57cDkUqHM=; h=From:To:Cc:Subject:Date; b=JI2ghuNc/hcQu0DryDrH1PrQGX79n1vuSMcOYzfRcJXVumZu9fcGJzaQIsXTHm7/d pOfK5IkCHXvRsX7zhYVnVsbstMDZU7+W13i+gnzdpMcVZVSqqzqUHfEBTGRA6ZWNPf D9qwqoFZsImtWPwbrpXA7cPzpEqeKs7H30GE7deg= Received: from localhost.localdomain ([113.116.31.63]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id 2413D432; Tue, 20 Feb 2024 20:09:01 +0800 X-QQ-mid: xmsmtpt1708430941tgikzgu6i Message-ID: X-QQ-XMAILINFO: MFWpArBVhhGTqjMafyytAD+y1gbfq60Zd+4wXECLTLOaleymL15nulwXrz4kWD tzxyrdxah7M5ivCg5EPenVxVyAfn3hNu8cLuq+MGayQczLA7f4EcP73fJrqxncDxXeWZdc8Z9enQ myN34fSP7WYU9QJObfsnjaewoAPjztwR7kM6y3LTwOc/Zpx0MlguM6ygpc2bSmdks0k0qQ8Brf1D 8xISjp3A++JHJVh+Z4c12Ooe3mvVR9yEewC84DFIMUFoXraxONLkOt93jP0q7eRrdqkfp56Bdolz ilm4Y/ATNsE2w1SsyrNjdo7xcl5hQo8YNUBEPfXCvY5Y7G5flzP57bXbRVpVhXxnpAwi644RYMhX mhEFXMU8IRz0eNtQm4UkvgSSb1GcwSYDlg9lBUNbiYdYfZStpgYbGlmB7oBUCeQwPvCKHQn/ex6d 4UD5R8deuFvRu31/27Z/6Qwzl10JcNhtwUKCG8dR4kqmG7XAPJp7rN276JAPgOZs15OXfProLE88 /snfHCtOyHjkcB1L8eNjhALlKJlqJbzq8H58H+niMTjJnL1SbNInc8udcNkI14B3+WO3Bbs3++T+ tMxo7HE6twbRf2rFnqimyRwmeQihCUZRR6GnhpogtL0goj266OAPp+bZDua/kP4qm/QKfsBr+LWt EjABsRqKfmfvZd1ygzEStj8KcYJF6s+DfpWRI99SBnl8t6GcHELq7qcpXlfhxSmIgckuB2l+IFU1 u8uGwCJEgco4rTLeYDqD/lezVUqHzjzZ74gV7mV/sxa+su9LPPEBWT6/NNCm51y8cuya4BbxLDsR u7FLXRgjm2SQtPgphd8cUV+xvngnrWsDJ/xeNbxJ5/yWUvKNTJdhug8gREY/7eS/DHnYD1oMNwUy j9Iy9tOmApryRs++VdEds4MJNU56BQ2CJR4uhdtlbDp/3lh1XKvTtpomddeXOGpgYK0z5sp6O370 wgvuW+kIEfzFad/w4g/sQpT1Gxy5/qwIHM6Ovvp6d4PNpPYmKlfbws6+0PJjAVkekD4LujfWE= X-QQ-XMRINFO: Nq+8W0+stu50PRdwbJxPCL0= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 20 Feb 2024 20:08:54 +0800 X-OQ-MSGID: <20240220120858.317766-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/5] avutil/hwcontext: Don't assume device_uninit is reentrant 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: TXxOeNi+jxj8 device_uninit will be called by hwdevice_ctx_free. vulkan_device_uninit is non-reentrant. --- libavutil/hwcontext.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/libavutil/hwcontext.c b/libavutil/hwcontext.c index e23bad230f..e8c6256a73 100644 --- a/libavutil/hwcontext.c +++ b/libavutil/hwcontext.c @@ -205,18 +205,11 @@ fail: int av_hwdevice_ctx_init(AVBufferRef *ref) { AVHWDeviceContext *ctx = (AVHWDeviceContext*)ref->data; - int ret; + int ret = 0; - if (ctx->internal->hw_type->device_init) { + if (ctx->internal->hw_type->device_init) ret = ctx->internal->hw_type->device_init(ctx); - if (ret < 0) - goto fail; - } - return 0; -fail: - if (ctx->internal->hw_type->device_uninit) - ctx->internal->hw_type->device_uninit(ctx); return ret; } From patchwork Tue Feb 20 12:08:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 46390 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dda5:b0:19e:cdac:8cce with SMTP id kw37csp1806798pzb; Tue, 20 Feb 2024 04:09:32 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWx6mRf0hrVD/wSXv1WsiXnHgqN4i5tmJzBuwW9s1rDSAItlp0sCGN5yzr3HkekIQ35tcwQiCPBDGfR3q0TuJiMzNMYXsmIDxclxQ== X-Google-Smtp-Source: AGHT+IFssJ0RdBqQs6lJj7hPQrOV3GcsFeuDUVd0PQ7aiw3pb4z6AWIKYMi9Y4doCYIqkRge/1yv X-Received: by 2002:aa7:c655:0:b0:563:8b25:1659 with SMTP id z21-20020aa7c655000000b005638b251659mr10601363edr.28.1708430972133; Tue, 20 Feb 2024 04:09:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1708430972; cv=none; d=google.com; s=arc-20160816; b=idB96Prti30uHEGZJ6x3lTJbKTbkZFwfz7SOkmJv2KNXgHge+8fVqDuSGc9pktOODW ChE8RdpLulk33Cvt5ew6steXNPYRSJ1HwrCMLRiPmPBb/z+/hRrJWLVdBK+cyXzyalWo cYgjr1qtpMdBQUJBRk7GyJNDqVHsJWRiTudeNWcWo2sCjJLBznL/1zSSKEp26tomqxAO IKSu+xggMHZdN89qXHJwNw3YAjJoKTGL2IFEBZA/nMj3yBcW4lVvxnelgiZzehVHJkHN 34J8JI+QMSHSE0WDceaFswxG6LkKV2XEtPG+ITPJz5vuOnXkHYh9TGmDH49reHV4/u3B jG7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=jYKWNASSY5O4FyyJ4f386RTIQnTaJ31Zz/2fpREPEA8=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=I1Ajbu+Z3puvDVdnfJFe9Xxp+dY1/mu4nmQdh/lEQt5XSHHOWzi/ZiIGXI/2a0Ms3L L9eFcSJDn8z1l9IjY3uihuO2y6gu+mVmkJ9uiNcO/kA/QcyJJionX6S2l8lt42cB8WJo WNZinfpmomaMIMQ53szN3aRvVITpjaunrHKdNgcapK/Zf5nj6Ca5jeRaygo1nya24dcA eOYzNZc68c8n6W2cKdxaaqeKRnV0nFjsQtdJD4XeaRx0KRBqoAhp18oYmZu8DOdWRBSp jj97/pbv+M6EnJa0f7cOUTc1fSG+fo4uhN8RzrEiCeA6/Wcgmh/lB/lsZZl7n71978Bp QVMQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=gfSts2UO; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v4-20020a056402174400b005643e3f1a8asi2626964edx.504.2024.02.20.04.09.31; Tue, 20 Feb 2024 04:09:32 -0800 (PST) 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=@foxmail.com header.s=s201512 header.b=gfSts2UO; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A28E468D0B5; Tue, 20 Feb 2024 14:09:18 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-57-210.mail.qq.com (out162-62-57-210.mail.qq.com [162.62.57.210]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8505868CE0F for ; Tue, 20 Feb 2024 14:09:11 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1708430942; bh=NMuQDgPjT4x7Ni/ZXMqCdhc81WxbUD0EjaP2abmQMOc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=gfSts2UO+vNqhCSI5oYY3vWZWRZWN5lvOAJH3QE9SILU9qonyb5LDCRoS2VUfDHFO bp25Dg88v8wr7/HYhMXMRxjdAqMhrtzezedEReo9RBOa4VtNfF28MMeV6W/cJxlWNC uvrXUlcYrK811+x/PeQFegTX04WZkYrVXzPRsa/Y= Received: from localhost.localdomain ([113.116.31.63]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id 2413D432; Tue, 20 Feb 2024 20:09:01 +0800 X-QQ-mid: xmsmtpt1708430942tsb20xhzu Message-ID: X-QQ-XMAILINFO: Mm/8i8/T4ynetaGveWD+gPWZE5TWATmFs/bLS1DN1GT6ZOJgzz+DsXimqjxK3n rZrVqndn+iwd49/w4/4peTMvKVBfRRPbMtjimuhVfZjZkGWZ6KrGbjUl+cBuymGxxtvvXvw0FSDX AveBRNars4fF3zcKIm4tG8zSWpWPGgs3oNDTQIFJXKQp+QKBrDdMPL80yGUD8Lm6f9OylSOi7BW1 Sd58zB3zyZ7vT3/PM8sNPyjKq7ZQa9l8O/W96/KucCKlie66nNSDBLVaouWcm/9b1Q2UkqYM9E+x tfgtq4fbvl2U0A9rlmUG/jwvkRny/TwDOF+EFmCZSfh2l5IWX78AFmrw5vSrZDwhsVdZKz6vnnex Am4YZbE8GOMgjyGI2CwKTYDpPHysMXPbxxT7/rCxdKbXT2e8AWC3E6PDc03PvkX9xnZOgbLdN5Wo pa8maAok+JAvq2Bm8mEAfR/1c5otDKcS56QoehsbKDN+sc2djD3N4xL8P4tDYrL9gzVNVcZC9Xmr mo+/13aZrjl5oQwGJtZpd3HjcC2txhd7mg0fUJVSFs6KS/LVNDiVfry8NHVloKbYMFyX3MHPAisN o2QrMirKfFi1bnLuAGAl3LfjUbPgzyUkEsgZwJBHDtoTMoJPso9TBb6MxYGLgklwV3htUwpSmoOl bipGoUeZ7K5hQrMjwrmDA7i3PiNLzDx0w6TmPuA/W8x5O0zVHnL5N6KyFWRO/O1EqSjXqAOMJYg8 DdZmafAkdFZCb6+ozvjlYsauqC84EFSXpVsPeZ06Y1/icgj2tweRWMmQZyUum31WrrTlKxoChAQB X32oKwybR8j2M6pXXTogLDgAYez8O7dxJbB4kj1UqR4U071brC0qxxEI9fnBta5PZAvQ62l6u+xl 8jXXz3bMTl8PmiGSEMnubQ/VAowrQAZSiq59KfuGt2JvX1gsK/HZdUghjmi/XU1XS26+UosdyGeU gwrImrA15shZhlfDaALPpSpiAJw7N9t+M2bPpV0Hy+NbszhtRyBkEI8AawXtLF X-QQ-XMRINFO: M/715EihBoGSf6IYSX1iLFg= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 20 Feb 2024 20:08:55 +0800 X-OQ-MSGID: <20240220120858.317766-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240220120858.317766-1-quinkblack@foxmail.com> References: <20240220120858.317766-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/5] avutil/hwcontext: Don't assume frames_uninit is reentrant 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: eN0DF0vWVUee From: Zhao Zhili Fix heap use after free when vulkan_frames_init failed. --- libavutil/hwcontext.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/libavutil/hwcontext.c b/libavutil/hwcontext.c index e8c6256a73..dec8b84783 100644 --- a/libavutil/hwcontext.c +++ b/libavutil/hwcontext.c @@ -360,7 +360,7 @@ int av_hwframe_ctx_init(AVBufferRef *ref) if (ctx->internal->hw_type->frames_init) { ret = ctx->internal->hw_type->frames_init(ctx); if (ret < 0) - goto fail; + return ret; } if (ctx->internal->pool_internal && !ctx->pool) @@ -370,14 +370,10 @@ int av_hwframe_ctx_init(AVBufferRef *ref) if (ctx->initial_pool_size > 0) { ret = hwframe_pool_prealloc(ref); if (ret < 0) - goto fail; + return ret; } return 0; -fail: - if (ctx->internal->hw_type->frames_uninit) - ctx->internal->hw_type->frames_uninit(ctx); - return ret; } int av_hwframe_transfer_get_formats(AVBufferRef *hwframe_ref, From patchwork Tue Feb 20 12:08:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 46393 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dda5:b0:19e:cdac:8cce with SMTP id kw37csp1807033pzb; Tue, 20 Feb 2024 04:10:00 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXKdHTuS8LWb3I9zWeJ+eglGvN+el4lbKizCHoSFZVhI+jIfR3cEcqsa4b6d079Thg+ZT/9vGcgHlJr5BlOZAXSNQVQdqH1UWAkBA== X-Google-Smtp-Source: AGHT+IGY4ZII35rluOGXriMdf6DuECHdVezx0bwjf0ZUyV1t24/ThIBMQXaBcONpJlnSAmxb1k11 X-Received: by 2002:aa7:d746:0:b0:564:b823:a78 with SMTP id a6-20020aa7d746000000b00564b8230a78mr1633411eds.37.1708431000143; Tue, 20 Feb 2024 04:10:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1708431000; cv=none; d=google.com; s=arc-20160816; b=zp2gTscx47qbxDTui2OVTURG/RyNT1qUBiGDClg611SPyndTk26dcs3VS8MpMNzNCO yuffMJZVdqoTIOulI6NCVbMA/9xx4/Leb7Rqx+HOe5/aYxa5FSFey3OOOzDQT5lpRzjg Xnq/qN9PTkjGnwzsucS30vmKmGZZhKozmS3mQm9hqN8ariEt9JZ6xFIgp0LP4C65kYSV +8DuO9z3po1IgYj/LdIPcKME4jqZDc/TUxUvkUCFeLtRCJ/Y8qAhHhl/WIVwFpfktDPI TfV0yYJKUprWcMbkzQPMdK+ha7/8Yi51Y+QFKz9GlizBu8LANy3azl0m7qY1dfJOoEE1 Dn8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=d+Dx+QCAog2IJwXNbxNc8ty1vdrhubqd4lsVel2DA5U=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=xU8jzgGkitpHb5g0CEVXplFE6+l59HPJAh0FDiIfHUHmi3y6vzuDBZFx8Ld/TxVM1G MoC0KCw9QTMwG2UeeGy8jksWKPXZKHHN5+sr/L0fRL8x1Mb01ylgujRoiQBw22BffYbI WP2Iwcx7Dt8pQVAP9/O0qeW6UE8Kz5SlDZiae+z1xGlafWvKdVf3rBpeUvihFMXk9bsm W0YJsOSyOYMbwQ5GwAuibeiVUTBBnicIAuDXTeOBJ4f9+pliSXW/1BQwvAnlKmFDsYxZ pn2x2hxp24HBRxWZuUnhRf+rQOsQdCr7eD8MNV2nVqw3XVxjW+uc2Yzf5svbFfV1wXjf /TWw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=aRvFuBz1; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z92-20020a509e65000000b0056464ec848dsi2105477ede.251.2024.02.20.04.09.59; Tue, 20 Feb 2024 04:10:00 -0800 (PST) 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=@foxmail.com header.s=s201512 header.b=aRvFuBz1; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C448668D1C9; Tue, 20 Feb 2024 14:09:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-251-36.mail.qq.com (out203-205-251-36.mail.qq.com [203.205.251.36]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1840B68D09E for ; Tue, 20 Feb 2024 14:09:33 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1708430966; bh=53L3+rIGLLn0VkPWgExcH61MgB9tZapYqg9loGVM/CE=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=aRvFuBz1mJShdWeAiT4mjrX4cjJ0shF6onqnaDhTk6aVLloRhPNx40EHOw4rw0EZj tbVTSO1Eb3slWeOUocTmUcSVVlvG2NgDV2kFckhoUZLITDmGDKCGdwu6vxAZTeR6cw j4yZ52/U1db7CB5v3g9JjKBPnAcdHQfhibJ+mckg= Received: from localhost.localdomain ([113.116.31.63]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id 2413D432; Tue, 20 Feb 2024 20:09:01 +0800 X-QQ-mid: xmsmtpt1708430942t8bsvzjyf Message-ID: X-QQ-XMAILINFO: MFdGPHhuqhNo0U/b5FZDBdLBY2ZN+/mAUtfTwZgKgBDhrMu0BiGEn3rNEznWk5 gv7wrKo4IXAQGMLvYFj09w85TJY3iWeeKhxjfPSG58Nna8kl/8e5NW9SqdIHY5mVu4yMkTIjr5AP wdKRqnDN6DWe2MxRW+ucl0fgcpuxpXQKxRBZJpuh4JjaEtgjKEjuRDrkuX75YX3oHCDbcnaDzGfV oXs5rUItW8nFvcAQcGpd97UkvH/onEB5ZVKhqFHYakJyWP/hS9rJFmc/JEH3u5BY9P0s5CbjoyWx 8CFXm7gZ112fFHJkcH+AAQzpMPzACgJmT2gMOG1a2qG5Vtp33bWtWYx54gR5azLETFjZTmLOyGef Cr9hcmK99wrCeLGIisDU4eMHp/N8z8EzH3TLKGSOM8+buBzQ0CO8AbUFnigJHoaDJRUoBxQQEJWw UhdtDE8ViSdpnWoX43WyNtO8drkU3mOZ6yAb+TvNCowfpOD6wQL3e5Zk9W0A3JzIlhG4NAcB5kV4 6esHU1q9eLQOUMsqvC953hgd3WSdfDLISPZmlbnA7/ZDlGvWPE0mNXiq9yyqo0PbOnWi4K9J1C+o NZ3/r0mUHwYN7rUADYlMP8a3QHsWaTFFWvPSjT62+Tsag1EDXBFRNXQh91GRy9969KKZnZbiRuR9 PnGxDi4YQdViEbzW2nWRi1PUoB/2xmAM6S7jcgcw/CdFJZIitI4dvUYEl6ha3Yioiv0r3y24roMx VjATdIN/pT7rb6acAH5mjNoP9L59bXOIsL1XC/StDmF+YBv7Pg1zi/NxPH8JAtOGxSQkh2GBv342 a/Px5Kg2w9VnU0SO5mei5x0xdOxC/AEUjeKTh41BnvahaGqIYI+a7tsE2j7NTEHl6/fQTiyiXGTE k/5Y/i2Z39X105fDnr0xv4jVdwFBkojA9bi2MCCQ+NHc2FME0V5OR0wTRlv2j5QMBIGGxxzZv5VE NKLCNT2Rg8+yk1bd5JKRX/s+6DdxS8JwGmcMV3GFiunyjxYCWtS4Rq5I5mpb94 X-QQ-XMRINFO: NI4Ajvh11aEj8Xl/2s1/T8w= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 20 Feb 2024 20:08:56 +0800 X-OQ-MSGID: <20240220120858.317766-3-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240220120858.317766-1-quinkblack@foxmail.com> References: <20240220120858.317766-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/5] avutil/hwcontext_vulkan: Fix leaks when semaphore creation fails 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: CWl5QVLaMtDu From: Zhao Zhili --- libavutil/hwcontext_vulkan.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index a84713e621..c64094f31c 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -1807,23 +1807,30 @@ static void vulkan_frame_free(AVHWFramesContext *hwfc, AVVkFrame *f) VulkanDevicePriv *p = hwfc->device_ctx->internal->priv; FFVulkanFunctions *vk = &p->vkctx.vkfn; int nb_images = ff_vk_count_images(f); + int nb_sems = 0; + + while (nb_sems < FF_ARRAY_ELEMS(f->sem) && f->sem[nb_sems]) + nb_sems++; + + if (nb_sems) { + VkSemaphoreWaitInfo sem_wait = { + .sType = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, + .flags = 0x0, + .pSemaphores = f->sem, + .pValues = f->sem_value, + .semaphoreCount = nb_sems, + }; - VkSemaphoreWaitInfo sem_wait = { - .sType = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO, - .flags = 0x0, - .pSemaphores = f->sem, - .pValues = f->sem_value, - .semaphoreCount = nb_images, - }; - - vk->WaitSemaphores(hwctx->act_dev, &sem_wait, UINT64_MAX); + vk->WaitSemaphores(hwctx->act_dev, &sem_wait, UINT64_MAX); + } vulkan_free_internal(f); for (int i = 0; i < nb_images; i++) { vk->DestroyImage(hwctx->act_dev, f->img[i], hwctx->alloc); vk->FreeMemory(hwctx->act_dev, f->mem[i], hwctx->alloc); - vk->DestroySemaphore(hwctx->act_dev, f->sem[i], hwctx->alloc); + if (f->sem[i]) + vk->DestroySemaphore(hwctx->act_dev, f->sem[i], hwctx->alloc); } av_free(f); @@ -2098,7 +2105,8 @@ static int create_frame(AVHWFramesContext *hwfc, AVVkFrame **frame, if (ret != VK_SUCCESS) { av_log(hwctx, AV_LOG_ERROR, "Failed to create semaphore: %s\n", ff_vk_ret2str(ret)); - return AVERROR_EXTERNAL; + err = AVERROR_EXTERNAL; + goto fail; } f->queue_family[i] = p->nb_img_qfs > 1 ? VK_QUEUE_FAMILY_IGNORED : p->img_qfs[0]; From patchwork Tue Feb 20 12:08:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 46392 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dda5:b0:19e:cdac:8cce with SMTP id kw37csp1806946pzb; Tue, 20 Feb 2024 04:09:50 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVsvfM4+JUfxrj4lBHEQMpLxkJd3csa32vf4eElDRs0iTTpQgaRgs2HwqGd/rCJqHODNVKCMqF8wtMIOSYGXvm+KkjSFwBUxLrt8w== X-Google-Smtp-Source: AGHT+IHJSVF/DbitRcqUzTmWBlxf58dmTLQ9OoEpSWlnm+HxI4DffKs6StPwOMbziPTqi97e4HIc X-Received: by 2002:aa7:c315:0:b0:564:4276:e549 with SMTP id l21-20020aa7c315000000b005644276e549mr4907064edq.13.1708430990623; Tue, 20 Feb 2024 04:09:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1708430990; cv=none; d=google.com; s=arc-20160816; b=uomTYcqGMXo2NdZJhteD0MYVrJTC9GHBcKNr7j0UdWHfhf7cbn03DmhfxVpsS121SW bETFng5w30qmBL0WX5Bg3tuy6o/s5wZ4ymNUbObYMOra46xd5mdt1tLSkA4sS5IM2eUH GAiEIOBx1npVBitkTi39OTh9FCoEfDcZUNIbNC3ZCQoOu7+AnWVwQjDxmDkWnr51UzVy uqNooJVdT3qAdaDLnOJPYtj90UTIF7TBE3UQx2HFB7FViGhbzQBTqF15gIeBAe4wbYS2 l4HMwt4RlZsA0DetX0v3OdfXWZRL+mbi358yABI5I5Wq0dHCHI3P5XaPUICuQtvin/LH a3tA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=//OLV4dJL5eNvHRhzYfnDdC3gj648PajDV+ne4AEfQk=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=lA1BZRYdImMoBIdbCaHlJRlT8j+JmLQuw2k8fJXXTdz2ciPKTz0e1nWhRuNx15Rt9h PZR0Q1HOgk0P+kXdWTIDys6QXp3pXGwWf0bvz7O4G5pHSxhjbXWxPl5jIHDJvSw0quUg i/P+oOQFFPH+LATumVuW5YbqVegzGCHQTCWZNyxUqOq/TsKAItfANOh6uy1NroxJwPDZ U3f8wFgNFQZdlTH1HV9deEx2DBzLZAXjAU2LowGJ/DijIbCyhpGeiIHR9ljYVbEH+3UD DlnbhweVHv9WSk5qjqc8VIjQP5/9jCrftA2N0hysV7+pndOV1NUYrS9U+kkAwd83C90l BAvg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=p9bJ4AEJ; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id s2-20020a05640217c200b0056419eccf30si3021022edy.16.2024.02.20.04.09.50; Tue, 20 Feb 2024 04:09:50 -0800 (PST) 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=@foxmail.com header.s=s201512 header.b=p9bJ4AEJ; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C93C168D0CF; Tue, 20 Feb 2024 14:09:21 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-58-211.mail.qq.com (out162-62-58-211.mail.qq.com [162.62.58.211]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7A68F68D083 for ; Tue, 20 Feb 2024 14:09:12 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1708430943; bh=KlOsrFXRKPTPrxe5y+KXBOc2GsNZz/bDQIef/Q+92hQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=p9bJ4AEJop4hoBb5z2kpyZMm0QPVNtxXQyhYTewJKoVqcy78bC1DB4extOhI3o9c6 +212mbNTBcSfb1dYVZ+1PlxX+mXwnKJoh4hDieMEIC98QDq5ag/IiBs3X67jJmaoR7 rBXdPbQT/nlgO6G19Fc9FXLpLFsdijYznXKZdEn8= Received: from localhost.localdomain ([113.116.31.63]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id 2413D432; Tue, 20 Feb 2024 20:09:01 +0800 X-QQ-mid: xmsmtpt1708430943ty2yusd64 Message-ID: X-QQ-XMAILINFO: NEq0i4SycP3b87VnJiSCy3bquWA5Bz7e1uBodLMib+S+XOY0r/+6V98PTpXLj1 4Pvqbfxll0CrfFI4mrGb59cV3hW3sPFFxdc0ODvCanzyk5pKBQQ/ycn7/Eu1uS1JN3TL2GjTfMdp YpezmRlpqTKEVPUhLdVCsfeOcGsU6j3SugwfrcjVG4REbsMIE6IadE1Gq/lIPtL6zlR5bDrLNpfX L5Sx8F3EAtkYJeorVXdF5MomGYKQzg8uEy8HlWifE0EPyVgGUkNFoByRqw5Y/g1naiefuFVX+NHQ h8xovDaYe+kihx82yoKcK9AyvruKHm6Crtc4zG/QAdnOp6WdEvoUd8APZsO04k2FtrylzFx/7v1M u5xtpR0a5K40qMX4OiDLIurf25x1b8f7RuyP6WQc4Fg9H3uBPmZUYMfncvxC/dZ31TuFSjWY5luY 0KYC+daUlhaiKKfL4V9OPbbDDBC4jQvh3dYG0KPIXPvXcV3KFLz2c3OPyV9E6gUwx3VhwcirZDAt FAgB8B3EHoknwNyMui7ZyrOVWFm8bVFspFO0kRcF+GRGHfqZzeFhxyLdkOj5nGvO+u4vnFLdy0sl NQVU6rCrRJoBT+g9p8IxefYnngwlp2o4OJrx/FkYhMtYRR9TBT0cEXIOsS+vZfjP3k37BZv5eQum RE50r/lEFakGZ1DaDfZtAGArAkYvWt+XjhpMhp0yd1gmjh7WwEGZTSP9dbvaMUWP7uEpjUdlr9XR S6QDwrqu3lekevpo1F9L6znXYNBxeygaB8JIjF72w3/ombjVgEpThoqPWNLG8izJtpxqjuknEDCE cRn6WL7UDjPVQGymyXoH+eaulW9yidiOu9wjE9TWbWrP0UP+rZu6eHiq8wEb/tb2+gyq7EKhgD6k 4fOeVupNABArp7Ixd1GLbYheFBKvyfY81lGH1YWaNvsSIiT9uQqq1RzQ5zM65jTGmxT2HlTEyh2V e1xIz8bIxGVg12V8PLQTj+3ytsNka/9qqmZ7qaFEOVtON7M5EUy1q483kHbUsX6aXbfQWMnoOs6J bUfIM25w== X-QQ-XMRINFO: MPJ6Tf5t3I/ycC2BItcBVIA= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 20 Feb 2024 20:08:57 +0800 X-OQ-MSGID: <20240220120858.317766-4-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240220120858.317766-1-quinkblack@foxmail.com> References: <20240220120858.317766-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/5] avutil/hwcontext_vulkan: Fix leaks in map_from_drm 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: rbAO5UtLAcKS From: Zhao Zhili Also simplify error handing. --- This patch is untested since I don't have a proper device. libavutil/hwcontext_vulkan.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index c64094f31c..35a7d75cce 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -2633,7 +2633,8 @@ static int vulkan_map_from_drm_frame_desc(AVHWFramesContext *hwfc, AVVkFrame **f if (ret != VK_SUCCESS) { av_log(hwctx, AV_LOG_ERROR, "Failed to create semaphore: %s\n", ff_vk_ret2str(ret)); - return AVERROR_EXTERNAL; + err = AVERROR_EXTERNAL; + goto fail; } /* We'd import a semaphore onto the one we created using @@ -2752,14 +2753,7 @@ static int vulkan_map_from_drm_frame_desc(AVHWFramesContext *hwfc, AVVkFrame **f return 0; fail: - for (int i = 0; i < desc->nb_layers; i++) { - vk->DestroyImage(hwctx->act_dev, f->img[i], hwctx->alloc); - vk->DestroySemaphore(hwctx->act_dev, f->sem[i], hwctx->alloc); - } - for (int i = 0; i < desc->nb_objects; i++) - vk->FreeMemory(hwctx->act_dev, f->mem[i], hwctx->alloc); - - av_free(f); + vulkan_frame_free(hwfc, f); return err; } From patchwork Tue Feb 20 12:08:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 46391 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dda5:b0:19e:cdac:8cce with SMTP id kw37csp1806890pzb; Tue, 20 Feb 2024 04:09:42 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXZtKPFuu9Gv3xzRBOPh5X13FwgYly1AFfWgOVGQRTyQs3xFxZ/TMxluA4Hi1zbXk39WUc1PuD7Vr9pHnDWO745xBjgUDJ2JNKASw== X-Google-Smtp-Source: AGHT+IHU98hURZ0ezZQLmHewuohsGpiK9LFlYLbY/VCInAOWiMSnb4VaGm3rRqJWmS185rBgyJjE X-Received: by 2002:a17:906:7108:b0:a3e:ce5a:c0cd with SMTP id x8-20020a170906710800b00a3ece5ac0cdmr2514954ejj.12.1708430981939; Tue, 20 Feb 2024 04:09:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1708430981; cv=none; d=google.com; s=arc-20160816; b=U8TRx3SP/3CfJZKW+0o763+gN1syu/tvIV39QnAleLVGqFqrlNnvUpKOrCD8hrPcgN VLrmRoubOT68YKkjLXGPmlFp7yc2CkbO/NtU9Ylv3dmQ7kwvt3PKA3uvLfDuwzpcngnj M9PlKdZgt/khyMgaDvw7ULUP2JnbNkS8kYKD4GZKCZ8b2h69J1NmCbRykTQyEuhOCG+8 qRQr2VxC0QLSm+Odq6VI0p0o4tI+Q89biQfiNyhhLWuAFQ26fQiTxWKp5fbzJMODi5sx K4y1Y4UVLmSnTQWB752/hJ4Q3xPUymw+f2reA4YaWMH20ecTOkE8g/o8Ct83420yO1SK h4aw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=yyTi161IPVQxS1xBs/iUPlSEt6Q+arRoQCECy4dtJlI=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=i2bZMT/OhE6CBRvAMWt3thv9O+71gND/hu0CZ8j0OxTwRuf96TXNCMfn63NqsB9dsZ RsmFAv01i8i9DbNmCi020B37X3O6rkYTy5Mi5R3gMCznWMDk07ABm9NsxIU0J/mijSTW q5iG/fWWciohZ8iICfa8D3+1WpVIxOlG9BbAy6fEqyxXC53xhn9X5I6X5aenFXjtKC4O gVUporca3DPmg74UO1LCtdAjhcFceUqrvidqdQ/cje3LRqvVOild6TSjF3sRPYAWwZCF bgIOb1Qo8DEtZKZ9BzHYz4ABCcqYOJRj8mdIM7cAahdmvvebwyl9T8MT4aUBkPGGsSOk J8cg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=OaFYXbnU; 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=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id mp18-20020a1709071b1200b00a3f16435aebsi148618ejc.80.2024.02.20.04.09.41; Tue, 20 Feb 2024 04:09:41 -0800 (PST) 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=@foxmail.com header.s=s201512 header.b=OaFYXbnU; 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=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C30CE68D130; Tue, 20 Feb 2024 14:09:20 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-57-49.mail.qq.com (out162-62-57-49.mail.qq.com [162.62.57.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 65B1968CE0F for ; Tue, 20 Feb 2024 14:09:12 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1708430944; bh=WiH7NGB1Eh0hxPHHtoFrfCwpSblaNJ+kvA+Yp8jEcWA=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=OaFYXbnUWLZLSBBl3JNbIxVVRcR1XbqMQ9+Llb0nAMoZeHDloJ8zfVhfiQ9UEJdrp IHHXwS7+XXecrMgAvO/cxD+LJR15Q1BjgZ4G/AzodLv720IaIP9IAJyx/kkUBA/Ata JGD71O2FgihYqZy93peKAqPMWkrlj8PwWNoH+pgc= Received: from localhost.localdomain ([113.116.31.63]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id 2413D432; Tue, 20 Feb 2024 20:09:01 +0800 X-QQ-mid: xmsmtpt1708430943tloo8we9f Message-ID: X-QQ-XMAILINFO: Nq1uWKlIb9DMoLH7vsev77brs0aQq9++az62vt+931YV0tBRMWiL7rmeZ9mDjb GHKAMgr/6DG54IMyl7egstVntmnV/+/AQHcCnbx2/spRcCZKDjeNS9YoMCxSYgy36VOuc3fDeVVF jiaTcQQkJC6mHfvChLPyNeH5LJNHgg1bFsdt2P//dGHm/w/8bH35a6nov+5/91+W90M9/iawCt3J wH/kGz8luNqFecMkSJfCsXuG6bUvaFiJsQTR2yKbhbEVIs/Jy5L1YAhU8hGi3XTucpEJiw4xk02F OeW52mGvtJpsTvSdswLRPQmq8vQt/9Xlc/8WLD8R35NykS1qlEC+dj2ExLIzzVop+C0tuk74ok2E MtodyAO0AV8BPbE8cC2ePkzkRkwmt9rMxpY8TfXZb+4NpehZLH/AIoolndRNkDM5QWotutIOp/u+ MBNy1dvTee8y3+N5oYNgqnLcv7mUEblDBcMIxFq68a1pBduV+YHPJLv+d2l0Le9KbH6Ro/zbd8sM 7+wKTvkxuqIrTLPHRSx7ZIp2aUAG6egCljzDhBdIRxle+CCIpKKXPIYrgIgiKbjf2TrhCXTMbj/S QR3UdsQna7EQxW+zjLWSIC5CDiSFucU9TTKsJN+lp+1XeTKyC2gr9IzVPPnNMW5QcE6UthQUKvAj iEAzcI7X7+MGp5vUT2yO3323AIFf4ncKpAtyNjYOXzhKnkn4vAAhLkbQTcdvZZ9s6B8LCOfQCOmx kNDynY58ozpFvo1wleQIOLEE2XdRENF7FXR1hQgwb2VTZZ61t9hfgAc5/y1ODKgNX0j+eWd7QqUh VG4U14/WlN+jZqz/XqhNhDMP2JVtjXxMq5EL7j2Hwjp9y6XDySw/a7qUONxKoxh9c7Fosrby8+CB D9Oq6caUzvFPe+AeBFA8erSubhXmONmfDvv8C/4DeVJQwHnI5kgeqXp7/ovIk3nwyWo70fHq6i19 HqUOsYwhmgtyh7Ch/uV5NJDYvZfCRy+ypuulc/L5ApTWciSs3Pvji/0oPUpXwAD8E4M5HyhLdQjG zZ4qk3FQ== X-QQ-XMRINFO: M/715EihBoGSf6IYSX1iLFg= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 20 Feb 2024 20:08:58 +0800 X-OQ-MSGID: <20240220120858.317766-5-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240220120858.317766-1-quinkblack@foxmail.com> References: <20240220120858.317766-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/5] avutil/vulkan: avoid overreads in ff_vk_count_images 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ADTAPHVLlps1 From: Zhao Zhili --- libavutil/vulkan.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/vulkan.h b/libavutil/vulkan.h index b666841836..a5e78760d7 100644 --- a/libavutil/vulkan.h +++ b/libavutil/vulkan.h @@ -271,7 +271,7 @@ typedef struct FFVulkanContext { static inline int ff_vk_count_images(AVVkFrame *f) { int cnt = 0; - while (f->img[cnt]) + while (cnt < FF_ARRAY_ELEMS(f->img) && f->img[cnt]) cnt++; return cnt;