mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-29 22:00:58 +02:00
lavfi/dnn_backend_openvino.c: fix mem leak for AVFrame upon error
This commit is contained in:
parent
82bd02a2c7
commit
3ce2ee7f54
@ -485,25 +485,12 @@ static DNNReturnType get_output_ov(void *model, const char *input_name, int inpu
|
||||
OVContext *ctx = &ov_model->ctx;
|
||||
TaskItem task;
|
||||
RequestItem request;
|
||||
AVFrame *in_frame = av_frame_alloc();
|
||||
AVFrame *in_frame = NULL;
|
||||
AVFrame *out_frame = NULL;
|
||||
TaskItem *ptask = &task;
|
||||
IEStatusCode status;
|
||||
input_shapes_t input_shapes;
|
||||
|
||||
if (!in_frame) {
|
||||
av_log(ctx, AV_LOG_ERROR, "Failed to allocate memory for input frame\n");
|
||||
return DNN_ERROR;
|
||||
}
|
||||
out_frame = av_frame_alloc();
|
||||
if (!out_frame) {
|
||||
av_log(ctx, AV_LOG_ERROR, "Failed to allocate memory for output frame\n");
|
||||
av_frame_free(&in_frame);
|
||||
return DNN_ERROR;
|
||||
}
|
||||
in_frame->width = input_width;
|
||||
in_frame->height = input_height;
|
||||
|
||||
if (ctx->options.input_resizable) {
|
||||
status = ie_network_get_input_shapes(ov_model->network, &input_shapes);
|
||||
input_shapes.shapes->shape.dims[2] = input_height;
|
||||
@ -523,6 +510,21 @@ static DNNReturnType get_output_ov(void *model, const char *input_name, int inpu
|
||||
}
|
||||
}
|
||||
|
||||
in_frame = av_frame_alloc();
|
||||
if (!in_frame) {
|
||||
av_log(ctx, AV_LOG_ERROR, "Failed to allocate memory for input frame\n");
|
||||
return DNN_ERROR;
|
||||
}
|
||||
in_frame->width = input_width;
|
||||
in_frame->height = input_height;
|
||||
|
||||
out_frame = av_frame_alloc();
|
||||
if (!out_frame) {
|
||||
av_log(ctx, AV_LOG_ERROR, "Failed to allocate memory for output frame\n");
|
||||
av_frame_free(&in_frame);
|
||||
return DNN_ERROR;
|
||||
}
|
||||
|
||||
task.done = 0;
|
||||
task.do_ioproc = 0;
|
||||
task.async = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user