diff options
author | Luca Deri <deri@ntop.org> | 2020-02-17 19:34:47 +0100 |
---|---|---|
committer | Luca Deri <deri@ntop.org> | 2020-02-17 19:34:47 +0100 |
commit | 37121a9b587f179faa1c69f8b4014b2c9c9590f0 (patch) | |
tree | ffeee3725df19a2577cac06007ca4b955cc877ee /src | |
parent | bbaf9147b63df1857b006811b4190c6dd4834ee7 (diff) |
Added protocol range check
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/ndpi_main.c | 11 |
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); } /* ****************************************************** */ |