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

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
432432 OVModel *ov_model;
433433
434434 if (ff_queue_size(inferenceq) == 0) {
435+ ie_infer_request_free(&request->infer_request);
436+ av_freep(&request);
435437 return DNN_SUCCESS;
436438 }
437439
@@ -443,7 +445,7 @@ static DNNReturnType execute_model_ov(RequestItem *request, Queue *inferenceq) · 5 unmodified lines
443445 if (task->async) {
444446 ret = fill_model_input_ov(ov_model, request);
445447 if (ret != DNN_SUCCESS) {
446− return ret;
448+ goto err;
447449 }
448450 status = ie_infer_set_completion_callback(request->infer_request, &request->callback);
449451 if (status != OK) {
@@ -459,7 +461,7 @@ static DNNReturnType execute_model_ov(RequestItem *request, Queue *inferenceq) · 9 unmodified lines
459461 } else {
460462 ret = fill_model_input_ov(ov_model, request);
461463 if (ret != DNN_SUCCESS) {
462− return ret;
464+ goto err;
463465 }
464466 status = ie_infer_request_infer(request->infer_request);
465467 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