From 3499ec84cced7e6d2898ed29a94e6e191af9ca07 Mon Sep 17 00:00:00 2001 From: Ting Fu Date: Wed, 24 Mar 2021 15:39:26 +0800 Subject: lavfi/dnn_backend_tensorflow.c: fix mem leak in load_tf_model Signed-off-by: Ting Fu --- libavfilter/dnn/dnn_backend_tf.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libavfilter/dnn') 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; } -- cgit v1.2.3