In cases where the execution inside the function execute_model_ov fails, the OVRequestItem must be pushed back to the request_queue before returning the error. In case pushing back fails, release the allocated memory.
Showing the changes to libavfilter (1 of 1 file). Show all
Unified · Split
| @@ -432,6 +432,8 @@ static DNNReturnType execute_model_ov(RequestItem *request, Queue *inferenceq) · 431 unmodified lines | |||
| 432 | OVModel *ov_model; | 432 | OVModel *ov_model; |
| 433 | 433 | ||
| 434 | if (ff_queue_size(inferenceq) == 0) { | 434 | if (ff_queue_size(inferenceq) == 0) { |
| 435 | ie_infer_request_free(&request->infer_request); | ||
| 436 | av_freep(&request); | ||
| 435 | return DNN_SUCCESS; | 437 | return DNN_SUCCESS; |
| 436 | } | 438 | } |
| 437 | 439 | ||
| @@ -443,7 +445,7 @@ static DNNReturnType execute_model_ov(RequestItem *request, Queue *inferenceq) · 5 unmodified lines | |||
| 443 | if (task->async) { | 445 | if (task->async) { |
| 444 | ret = fill_model_input_ov(ov_model, request); | 446 | ret = fill_model_input_ov(ov_model, request); |
| 445 | if (ret != DNN_SUCCESS) { | 447 | if (ret != DNN_SUCCESS) { |
| 446 | return ret; | 448 | goto err; |
| 447 | } | 449 | } |
| 448 | status = ie_infer_set_completion_callback(request->infer_request, &request->callback); | 450 | status = ie_infer_set_completion_callback(request->infer_request, &request->callback); |
| 449 | if (status != OK) { | 451 | if (status != OK) { |
| @@ -459,7 +461,7 @@ static DNNReturnType execute_model_ov(RequestItem *request, Queue *inferenceq) · 9 unmodified lines | |||
| 459 | } else { | 461 | } else { |
| 460 | ret = fill_model_input_ov(ov_model, request); | 462 | ret = fill_model_input_ov(ov_model, request); |
| 461 | if (ret != DNN_SUCCESS) { | 463 | if (ret != DNN_SUCCESS) { |
| 462 | return ret; | 464 | goto err; |
| 463 | } | 465 | } |
| 464 | status = ie_infer_request_infer(request->infer_request); | 466 | status = ie_infer_request_infer(request->infer_request); |
| 465 | if (status != OK) { | 467 | if (status != OK) { |