From patchwork Sat Sep 2 08:23:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 43456 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4f16:b0:149:dfde:5c0a with SMTP id gi22csp55883pzb; Sat, 2 Sep 2023 01:26:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH82a7R1Bx6Exg1paGFEJaEeKRWvtALGY8wowLTQizm0+NqdS4p17v0IOTVyhbKPPAwHdIv X-Received: by 2002:a17:906:20dd:b0:9a5:d657:47e6 with SMTP id c29-20020a17090620dd00b009a5d65747e6mr2924832ejc.56.1693643198864; Sat, 02 Sep 2023 01:26:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693643198; cv=none; d=google.com; s=arc-20160816; b=MH1TBdgWHKYL/pRJUzDC4r0lKrR8XaY5kRuh/f1YzgNIjYJ4grXIqFcCW2jCN2jjFj PxCCuD5qpc6aLR+rsrMylK1YLf/zoWxx0+mdgS+6fmVLG1qHBhxTd41gN7XbPXI4ZZJ/ BGmJG+g0DP1Tqok8E+fCd71ZQ+gMVaRqunhuAFZDFt5Fbkj3/GbPwkbfvQB/vBOG0cis GJoOkyl69C03xa4uTzdJJGuOgM0HCxmbW0uHmugoTT1zfsMCXaHYnKWQ2kXB8FMqE2ON baP1EFPudQyrE9f5kgjSL6hQZJpPEG9GZPntkcHrcI+o1sNjqJHWneh9lcDyMRhgguAG Wj3w== 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=OOGsGJ3wUsOqWG0Gv5X0+FjK55DwbEQ/H4iNsPqqCMQ=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=dADF9hBnwW7Sth09rJDLc7nWPkQFbqEln9LtYaxSZvWtgyhWba6ia/sPur2IRIkdYs K9aGwI16dxcU+mgJmaATox8ca7BBQV69iglCrFms67q6KNBp4zVVoWv20L8UhCyqe2Wv d6g8os5G18Z2K+kYRJmTmLVd7eJk9+7BG+kP+Cp9PvHHulE4CBecsp/vQE0JvGydRNiG WXIh6VmWi7DWmclASSeHIosFlORQRPjLQCCbynAZliygNrIakFEVV9BnPtT4bRiiOopD dl3ZOoLmpYxgeRTaVqfJv+Jcs0r8uYLuPizAwclbwOnOtM+8njf91TNcXQ1woEYl7gQS AEdw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=h3RYjt6K; 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 lm19-20020a170906981300b009a190ce8511si3571431ejb.111.2023.09.02.01.26.38; Sat, 02 Sep 2023 01:26:38 -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=@foxmail.com header.s=s201512 header.b=h3RYjt6K; 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 E12A768C7E9; Sat, 2 Sep 2023 11:25:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-57-64.mail.qq.com (out162-62-57-64.mail.qq.com [162.62.57.64]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C69A968C7AD for ; Sat, 2 Sep 2023 11:25:14 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1693643106; bh=dXF/MGtO8wrR6HW52ptDyimxAW0baWuyFiQii6DbiVg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=h3RYjt6KP0IhD0HvyIZVoFu2HzXLy+llvZiBdgi7v3zhqafAusVcaOVJRI0xsVY8E NAED4n+/X2i3pNTkALGTcoJJ7wgs/HsBhaaanpvaYMOzXe0yPCrj00qvUowX7YGSxP j0Rych1zvQfHnXCnM/GBzWkpbcXfsFB8dLG5w9KM= Received: from localhost.localdomain ([113.116.30.246]) by newxmesmtplogicsvrsza7-0.qq.com (NewEsmtp) with SMTP id 640954A0; Sat, 02 Sep 2023 16:25:00 +0800 X-QQ-mid: xmsmtpt1693643105tbkdps0gd Message-ID: X-QQ-XMAILINFO: MPEorwW6cFo9h+sXpRkYrO/HOO9cd6muvLGvRep2t9wmgA8m0RNM19+FrYEZzq +d4xsuIp5VzsNRzeC+Z4MgMRv7EUSCRmtlN5c0PagdVHqyVBpjIaT3BizKj1+gHJa9zJ5RtLlgzh yZaWq3nZhvsYAE+gaYNc1pjdgna6zxM/5pb1oU4YwpfstwJQb1mKHSsMYJxrv4/LhWcedt2oByTh NWv15mPWJgHykunI7OE0z9gvkK9Wk5L6h1RRHSC6f7qg0nCIvep0dA3IvAb1lduJjUJclvirgZZE rxSPrW3MuOSA9O1xOel2AFRGaf6UsKQhL/TQNeaHaZuQPl4Ku8XiNbGmg1wc3CLE8QpKPLkavacJ jz6s7LhlflLRJ0PdXE5dLJfLppO27bkYYwW2aMVgpWxGyXFjDGEBtV5ArIGP/dH64OcUBaglODI3 sGKomrZdw3p4tLclzGE40yJMbo0qvozI0qUiWavroW8n4qjGUC8QR7EWGtmiejcV1IxphNdJT8E9 PiikixXXnbYM8pLgdz/6uvD1ugvwsjAWEGs7WQCAQ3e/Noow8HmJx9ZvpKTs9W4N+1AYQoa8Sqge 0tfNdHXUzg2+XXcdLi0ntgFszFLK99HjAPePmCsAHD8/gPsHkOas1NjVo+Aote+ejNpnAedt4UkX 0VUZHaxeZzUpNyKVn//wTBswYuuORSkpeAh/dAaDggnPg38TerJhH5pd4k61Ssw/bb/ad1bNKhy1 +xdqYKLBLSeZrNtorvNQwgUcmyoLDKgi89oUHG0fyAtIE0Fp5py1qc3a+ezP8hFN6WqlSt6+pPPA mYAwJ8+LruRw41hdBnUj9BJoSiHGFMAPuj2VuLIC+Iywi4HJOjVw2yPRq3s/RYndWYHzziCyM9Ci G/O0IR3OON730J4SiF6Ho8c+NNnw+yZkNqSiOxjkdx8HoX3DMS9Mv4dTfvtAzyVJNR2cVvOi62FD Clb6AMyv4L/fl6daa4vKh3Q6dH5VHxNC0hqhgrxQ4O/DDK2UyAdG6UTly54ylbQcmgSEwTVKX2X6 YvGSMm/A== X-QQ-XMRINFO: M/715EihBoGSf6IYSX1iLFg= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Sat, 2 Sep 2023 16:23:59 +0800 X-OQ-MSGID: <20230902082359.260925-9-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230902082359.260925-1-quinkblack@foxmail.com> References: <20230902082359.260925-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 8/8] avfilter/dnn_backend_openvino: fix wild pointer on error path 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: mk3xVwgPyGFH From: Zhao Zhili When ov_model_const_input_by_name/ov_model_const_output_by_name failed, input_port/output_port can be wild pointer. Signed-off-by: Zhao Zhili --- libavfilter/dnn/dnn_backend_openvino.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libavfilter/dnn/dnn_backend_openvino.c b/libavfilter/dnn/dnn_backend_openvino.c index 5de27719b2..ded156289b 100644 --- a/libavfilter/dnn/dnn_backend_openvino.c +++ b/libavfilter/dnn/dnn_backend_openvino.c @@ -210,7 +210,10 @@ static int fill_model_input_ov(OVModel *ov_model, OVRequestItem *request) #if HAVE_OPENVINO2 if (!ov_model_is_dynamic(ov_model->ov_model)) { - ov_output_const_port_free(ov_model->input_port); + if (ov_model->input_port) { + ov_output_const_port_free(ov_model->input_port); + ov_model->input_port = NULL; + } status = ov_model_const_input_by_name(ov_model->ov_model, task->input_name, &ov_model->input_port); if (status != OK) { av_log(ctx, AV_LOG_ERROR, "Failed to get input port shape.\n"); @@ -621,8 +624,10 @@ static int init_model_ov(OVModel *ov_model, const char *input_name, const char * ov_model_free(tmp_ov_model); //update output_port - if (ov_model->output_port) + if (ov_model->output_port) { ov_output_const_port_free(ov_model->output_port); + ov_model->output_port = NULL; + } status = ov_model_const_output_by_name(ov_model->ov_model, output_name, &ov_model->output_port); if (status != OK) { av_log(ctx, AV_LOG_ERROR, "Failed to get output port.\n");