History

lavfi/dnn_backend_openvino.c: Fix Memory Leak in execute_model_ov

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.

Shubhanshu Saxena committed 5 years ago

Commit 42995481 parent c866a091 file · +4 −2Browse files

Showing the changes to libavfilter (1 of 1 file). Show all

Unified · Split

libavfilter/dnn/dnn_backend_openvino.c+4−2
@@ -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) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t