mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-29 22:00:58 +02:00
dnn/dnn_backend_native_layer_conv2d: Fix memleak on realloc failure
Reviewed-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
f51f13902b
commit
d915c1dd7a
@ -197,6 +197,7 @@ int ff_dnn_execute_layer_conv2d(DnnOperand *operands, const int32_t *input_opera
|
||||
int width = operands[input_operand_indexes[0]].dims[2];
|
||||
int pad_size = (conv_params->padding_method == VALID) ? (conv_params->kernel_size - 1) / 2 * conv_params->dilation : 0;
|
||||
DnnOperand *output_operand = &operands[output_operand_index];
|
||||
void *tmp;
|
||||
|
||||
output_operand->dims[0] = operands[input_operand_indexes[0]].dims[0];
|
||||
output_operand->dims[1] = height - pad_size * 2;
|
||||
@ -208,11 +209,12 @@ int ff_dnn_execute_layer_conv2d(DnnOperand *operands, const int32_t *input_opera
|
||||
av_log(ctx, AV_LOG_ERROR, "The output data length overflow\n");
|
||||
return DNN_ERROR;
|
||||
}
|
||||
output_operand->data = av_realloc(output_operand->data, output_operand->length);
|
||||
if (!output_operand->data) {
|
||||
tmp = av_realloc(output_operand->data, output_operand->length);
|
||||
if (!tmp) {
|
||||
av_log(ctx, AV_LOG_ERROR, "Failed to reallocate memory for output\n");
|
||||
return DNN_ERROR;
|
||||
}
|
||||
output_operand->data = tmp;
|
||||
thread_common_param.output_data = output_operand->data;
|
||||
thread_common_param.operands = operands;
|
||||
thread_common_param.input_operand_indexes = input_operand_indexes;
|
||||
|
Loading…
x
Reference in New Issue
Block a user