summaryrefslogtreecommitdiff
path: root/libavfilter/dnn/dnn_backend_native_layer_maximum.c
diff options
context:
space:
mode:
authorGuo Yejun <yejun.guo@intel.com>2020-06-10 13:36:11 +0800
committerGuo, Yejun <yejun.guo@intel.com>2020-06-17 13:42:52 +0800
commit0b3bd001ac1745d9d008a2d195817df57d7d1d14 (patch)
tree00fe52c18ac22476df43f24d533c6aef8f36965d /libavfilter/dnn/dnn_backend_native_layer_maximum.c
parentfc932195ab0c9c00fa0cd9620c60763d978d495b (diff)
dnn_backend_native: check operand index
it fixed the issue in https://trac.ffmpeg.org/ticket/8716
Diffstat (limited to 'libavfilter/dnn/dnn_backend_native_layer_maximum.c')
-rw-r--r--libavfilter/dnn/dnn_backend_native_layer_maximum.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavfilter/dnn/dnn_backend_native_layer_maximum.c b/libavfilter/dnn/dnn_backend_native_layer_maximum.c
index 19f0e8da01..af16e08b95 100644
--- a/libavfilter/dnn/dnn_backend_native_layer_maximum.c
+++ b/libavfilter/dnn/dnn_backend_native_layer_maximum.c
@@ -27,7 +27,7 @@
#include "libavutil/avassert.h"
#include "dnn_backend_native_layer_maximum.h"
-int dnn_load_layer_maximum(Layer *layer, AVIOContext *model_file_context, int file_size)
+int dnn_load_layer_maximum(Layer *layer, AVIOContext *model_file_context, int file_size, int operands_num)
{
DnnLayerMaximumParams *params;
int dnn_size = 0;
@@ -42,6 +42,10 @@ int dnn_load_layer_maximum(Layer *layer, AVIOContext *model_file_context, int fi
layer->output_operand_index = (int32_t)avio_rl32(model_file_context);
dnn_size += 8;
+ if (layer->input_operand_indexes[0] >= operands_num || layer->output_operand_index >= operands_num) {
+ return 0;
+ }
+
return dnn_size;
}