Unified · Split
| @@ -336,8 +336,11 @@ DNNModel *ff_dnn_load_model_ov(const char *model_filename, const char *options, · 335 unmodified lines | ||
| 336 | 336 | } |
| 337 | 337 | |
| 338 | 338 | ov_model = av_mallocz(sizeof(OVModel)); |
| 339 | − if (!ov_model) | |
| 340 | − goto err; | |
| 339 | + if (!ov_model) { | |
| 340 | + av_freep(&model); | |
| 341 | + return NULL; | |
| 342 | + } | |
| 343 | + model->model = (void *)ov_model; | |
| 341 | 344 | ov_model->model = model; |
| 342 | 345 | ov_model->ctx.class = &dnn_openvino_class; |
| 343 | 346 | ctx = &ov_model->ctx; |
| @@ -377,7 +380,6 @@ DNNModel *ff_dnn_load_model_ov(const char *model_filename, const char *options, · 33 unmodified lines | ||
| 377 | 380 | if (status != OK) |
| 378 | 381 | goto err; |
| 379 | 382 | |
| 380 | − model->model = (void *)ov_model; | |
| 381 | 383 | model->get_input = &get_input_ov; |
| 382 | 384 | model->get_output = &get_output_ov; |
| 383 | 385 | model->options = options; |
| @@ -386,19 +388,7 @@ DNNModel *ff_dnn_load_model_ov(const char *model_filename, const char *options, · 2 unmodified lines | ||
| 386 | 388 | return model; |
| 387 | 389 | |
| 388 | 390 | err: |
| 389 | − if (model) | |
| 390 | − av_freep(&model); | |
| 391 | − if (ov_model) { | |
| 392 | − if (ov_model->infer_request) | |
| 393 | − ie_infer_request_free(&ov_model->infer_request); | |
| 394 | − if (ov_model->exe_network) | |
| 395 | − ie_exec_network_free(&ov_model->exe_network); | |
| 396 | − if (ov_model->network) | |
| 397 | − ie_network_free(&ov_model->network); | |
| 398 | − if (ov_model->core) | |
| 399 | − ie_core_free(&ov_model->core); | |
| 400 | − av_freep(&ov_model); | |
| 401 | − } | |
| 391 | + ff_dnn_free_model_ov(&model); | |
| 402 | 392 | return NULL; |
| 403 | 393 | } |
| 404 | 394 | |