aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2020-02-17 19:34:47 +0100
committerLuca Deri <deri@ntop.org>2020-02-17 19:34:47 +0100
commit37121a9b587f179faa1c69f8b4014b2c9c9590f0 (patch)
treeffeee3725df19a2577cac06007ca4b955cc877ee /src
parentbbaf9147b63df1857b006811b4190c6dd4834ee7 (diff)
Added protocol range check
Diffstat (limited to 'src')
-rw-r--r--src/lib/ndpi_main.c11
1 files changed, 7 insertions, 4 deletions
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);
}
/* ****************************************************** */