From 37121a9b587f179faa1c69f8b4014b2c9c9590f0 Mon Sep 17 00:00:00 2001 From: Luca Deri Date: Mon, 17 Feb 2020 19:34:47 +0100 Subject: Added protocol range check --- src/lib/ndpi_main.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index 303497e62..8d80e25d8 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -6016,11 +6016,14 @@ ndpi_protocol_category_t ndpi_get_proto_category(struct ndpi_detection_module_st return(proto.category); /* simple rule: sub protocol first, master after */ - else if((proto.master_protocol == NDPI_PROTOCOL_UNKNOWN) || - (ndpi_str->proto_defaults[proto.app_protocol].protoCategory != NDPI_PROTOCOL_CATEGORY_UNSPECIFIED)) - return(ndpi_str->proto_defaults[proto.app_protocol].protoCategory); - else + else if((proto.master_protocol == NDPI_PROTOCOL_UNKNOWN) + || (ndpi_str->proto_defaults[proto.app_protocol].protoCategory != NDPI_PROTOCOL_CATEGORY_UNSPECIFIED)) { + if(proto.app_protocol < (NDPI_MAX_SUPPORTED_PROTOCOLS+NDPI_MAX_NUM_CUSTOM_PROTOCOLS)) + return(ndpi_str->proto_defaults[proto.app_protocol].protoCategory); + } else if(proto.master_protocol < (NDPI_MAX_SUPPORTED_PROTOCOLS+NDPI_MAX_NUM_CUSTOM_PROTOCOLS)) return(ndpi_str->proto_defaults[proto.master_protocol].protoCategory); + + return(NDPI_PROTOCOL_CATEGORY_UNSPECIFIED); } /* ****************************************************** */ -- cgit v1.2.3