diff options
Diffstat (limited to 'libavfilter/dnn/dnn_backend_native_layer_conv2d.c')
-rw-r--r-- | libavfilter/dnn/dnn_backend_native_layer_conv2d.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libavfilter/dnn/dnn_backend_native_layer_conv2d.c b/libavfilter/dnn/dnn_backend_native_layer_conv2d.c index 25356901c2..d079795bf8 100644 --- a/libavfilter/dnn/dnn_backend_native_layer_conv2d.c +++ b/libavfilter/dnn/dnn_backend_native_layer_conv2d.c @@ -89,7 +89,7 @@ int dnn_load_layer_conv2d(Layer *layer, AVIOContext *model_file_context, int fil } int dnn_execute_layer_conv2d(DnnOperand *operands, const int32_t *input_operand_indexes, - int32_t output_operand_index, const void *parameters) + int32_t output_operand_index, const void *parameters, NativeContext *ctx) { float *output; int32_t input_operand_index = input_operand_indexes[0]; @@ -113,11 +113,15 @@ int dnn_execute_layer_conv2d(DnnOperand *operands, const int32_t *input_operand_ output_operand->dims[3] = conv_params->output_num; output_operand->data_type = operands[input_operand_index].data_type; output_operand->length = calculate_operand_data_length(output_operand); - if (output_operand->length <= 0) + if (output_operand->length <= 0) { + 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) + if (!output_operand->data) { + av_log(ctx, AV_LOG_ERROR, "Failed to reallocate memory for output\n"); return DNN_ERROR; + } output = output_operand->data; av_assert0(channel == conv_params->input_num); |