From patchwork Wed Mar 24 07:39:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Fu, Ting" X-Patchwork-Id: 26592 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 0E7D3449F23 for ; Wed, 24 Mar 2021 09:48:05 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A957E68AAAE; Wed, 24 Mar 2021 09:48:04 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B970968A3AF for ; Wed, 24 Mar 2021 09:47:57 +0200 (EET) IronPort-SDR: 83BR/qyHcQzlMY4ybbK7IwVwX66t4+88+4ZmxKiy26KX/TbKC3l5pWijW4vhY6VftvWj0NLzDK w3d6IVcGzugw== X-IronPort-AV: E=McAfee;i="6000,8403,9932"; a="170623025" X-IronPort-AV: E=Sophos;i="5.81,274,1610438400"; d="scan'208";a="170623025" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2021 00:47:55 -0700 IronPort-SDR: LbR7jTl4GUCjUlTfCJ7YtSHHfYMoodcnjQ3Ij7a5w18JBOW7eG2RusjlyUg6NgW/lz/oCVNBHG /4C/NlPZOL1w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,274,1610438400"; d="scan'208";a="415367815" Received: from semmer-ubuntu.sh.intel.com ([10.239.159.83]) by orsmga008.jf.intel.com with ESMTP; 24 Mar 2021 00:47:54 -0700 From: Ting Fu To: ffmpeg-devel@ffmpeg.org Date: Wed, 24 Mar 2021 15:39:26 +0800 Message-Id: <20210324073928.3570-1-ting.fu@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH 1/3] lavfi/dnn_backend_tensorflow.c: fix mem leak in load_tf_model X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Ting Fu --- libavfilter/dnn/dnn_backend_tf.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavfilter/dnn/dnn_backend_tf.c b/libavfilter/dnn/dnn_backend_tf.c index 750a476726..e016571304 100644 --- a/libavfilter/dnn/dnn_backend_tf.c +++ b/libavfilter/dnn/dnn_backend_tf.c @@ -282,6 +282,9 @@ static DNNReturnType load_tf_model(TFModel *tf_model, const char *model_filename TF_SetConfig(sess_opts, sess_config, sess_config_length,tf_model->status); av_freep(&sess_config); if (TF_GetCode(tf_model->status) != TF_OK) { + TF_DeleteGraph(tf_model->graph); + TF_DeleteStatus(tf_model->status); + TF_DeleteSessionOptions(sess_opts); av_log(ctx, AV_LOG_ERROR, "Failed to set config for sess options with %s\n", tf_model->ctx.options.sess_config); return DNN_ERROR; @@ -292,6 +295,8 @@ static DNNReturnType load_tf_model(TFModel *tf_model, const char *model_filename TF_DeleteSessionOptions(sess_opts); if (TF_GetCode(tf_model->status) != TF_OK) { + TF_DeleteGraph(tf_model->graph); + TF_DeleteStatus(tf_model->status); av_log(ctx, AV_LOG_ERROR, "Failed to create new session with model graph\n"); return DNN_ERROR; } @@ -304,6 +309,9 @@ static DNNReturnType load_tf_model(TFModel *tf_model, const char *model_filename &init_op, 1, NULL, tf_model->status); if (TF_GetCode(tf_model->status) != TF_OK) { + TF_DeleteSession(tf_model->session, tf_model->status); + TF_DeleteGraph(tf_model->graph); + TF_DeleteStatus(tf_model->status); av_log(ctx, AV_LOG_ERROR, "Failed to run session when initializing\n"); return DNN_ERROR; }