aboutsummaryrefslogtreecommitdiff
path: root/src/lib/ndpi_utils.c
diff options
context:
space:
mode:
authorLuca <deri@ntop.org>2022-07-14 18:04:51 +0200
committerLuca <deri@ntop.org>2022-07-14 18:04:51 +0200
commitb80218a0e45f9c18a0492c4e6679ba8ebc5ca22c (patch)
tree2c97ca6938d36405e638ac6481fd071bfe09891a /src/lib/ndpi_utils.c
parent842e0a36485e873d2e39702cf3caa3f64a7f7b0c (diff)
Added null pointer checks
Diffstat (limited to 'src/lib/ndpi_utils.c')
-rw-r--r--src/lib/ndpi_utils.c42
1 files changed, 24 insertions, 18 deletions
diff --git a/src/lib/ndpi_utils.c b/src/lib/ndpi_utils.c
index f7c5a110b..31e5a74d2 100644
--- a/src/lib/ndpi_utils.c
+++ b/src/lib/ndpi_utils.c
@@ -2182,16 +2182,18 @@ static u_int64_t ndpi_host_ip_risk_ptree_match(struct ndpi_detection_module_stru
/* Check isuerDN exception */
u_int8_t ndpi_check_issuerdn_risk_exception(struct ndpi_detection_module_struct *ndpi_str,
char *issuerDN) {
- ndpi_list *head = ndpi_str->trusted_issuer_dn;
-
+ if(issuerDN != NULL) {
+ ndpi_list *head = ndpi_str->trusted_issuer_dn;
+
while(head != NULL) {
if(strcmp(issuerDN, head->value) == 0)
return(1); /* This is a trusted DN */
else
head = head->next;
+ }
}
- return(0 /* no exception */);
+ return(0 /* no exception */);
}
/* ********************************************************************************* */
@@ -2200,23 +2202,27 @@ u_int8_t ndpi_check_issuerdn_risk_exception(struct ndpi_detection_module_struct
static u_int8_t ndpi_check_hostname_risk_exception(struct ndpi_detection_module_struct *ndpi_str,
struct ndpi_flow_struct *flow,
char *hostname) {
- ndpi_automa *automa = &ndpi_str->host_risk_mask_automa;
- u_int8_t ret = 0;
-
- if(automa->ac_automa) {
- AC_TEXT_t ac_input_text;
- AC_REP_t match;
-
- ac_input_text.astring = hostname, ac_input_text.length = strlen(hostname);
- ac_input_text.option = 0;
+ if(hostname == NULL)
+ return(0);
+ else {
+ ndpi_automa *automa = &ndpi_str->host_risk_mask_automa;
+ u_int8_t ret = 0;
- if(ac_automata_search(automa->ac_automa, &ac_input_text, &match) > 0) {
- if(flow) flow->risk_mask &= match.number64;
- ret = 1;
+ if(automa->ac_automa) {
+ AC_TEXT_t ac_input_text;
+ AC_REP_t match;
+
+ ac_input_text.astring = hostname, ac_input_text.length = strlen(hostname);
+ ac_input_text.option = 0;
+
+ if(ac_automata_search(automa->ac_automa, &ac_input_text, &match) > 0) {
+ if(flow) flow->risk_mask &= match.number64;
+ ret = 1;
+ }
}
+
+ return(ret);
}
-
- return(ret);
}
/* ********************************************************************************* */
@@ -2236,7 +2242,7 @@ static u_int8_t ndpi_check_ipv4_exception(struct ndpi_detection_module_struct *n
return((r != (u_int64_t)-1) ? 1 : 0);
}
- /* ********************************************************************************* */
+/* ********************************************************************************* */
static void ndpi_handle_risk_exceptions(struct ndpi_detection_module_struct *ndpi_str,
struct ndpi_flow_struct *flow) {