diff options
author | Guo, Yejun <yejun.guo@intel.com> | 2020-11-18 14:16:24 +0800 |
---|---|---|
committer | Guo, Yejun <yejun.guo@intel.com> | 2020-12-29 09:31:06 +0800 |
commit | 38089925fa41d0b767e8c47fb236dec390ec38ac (patch) | |
tree | 5106a9cadb840fb931c6e090f1e423fc24c0e0bd /libavfilter/dnn | |
parent | 2b177033bb0fe7637448b08ec6a84325b5b25945 (diff) |
dnn_backend_openvino.c: refine code for error handle
Signed-off-by: Xie, Lin <lin.xie@intel.com>
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Diffstat (limited to 'libavfilter/dnn')
-rw-r--r-- | libavfilter/dnn/dnn_backend_openvino.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/libavfilter/dnn/dnn_backend_openvino.c b/libavfilter/dnn/dnn_backend_openvino.c index 1196db0c90..da6e640226 100644 --- a/libavfilter/dnn/dnn_backend_openvino.c +++ b/libavfilter/dnn/dnn_backend_openvino.c @@ -336,8 +336,11 @@ DNNModel *ff_dnn_load_model_ov(const char *model_filename, const char *options, } ov_model = av_mallocz(sizeof(OVModel)); - if (!ov_model) - goto err; + if (!ov_model) { + av_freep(&model); + return NULL; + } + model->model = (void *)ov_model; ov_model->model = model; ov_model->ctx.class = &dnn_openvino_class; ctx = &ov_model->ctx; @@ -377,7 +380,6 @@ DNNModel *ff_dnn_load_model_ov(const char *model_filename, const char *options, if (status != OK) goto err; - model->model = (void *)ov_model; model->get_input = &get_input_ov; model->get_output = &get_output_ov; model->options = options; @@ -386,19 +388,7 @@ DNNModel *ff_dnn_load_model_ov(const char *model_filename, const char *options, return model; err: - if (model) - av_freep(&model); - if (ov_model) { - if (ov_model->infer_request) - ie_infer_request_free(&ov_model->infer_request); - if (ov_model->exe_network) - ie_exec_network_free(&ov_model->exe_network); - if (ov_model->network) - ie_network_free(&ov_model->network); - if (ov_model->core) - ie_core_free(&ov_model->core); - av_freep(&ov_model); - } + ff_dnn_free_model_ov(&model); return NULL; } |