aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNardi Ivan <nardi.ivan@gmail.com>2024-01-09 10:24:36 +0100
committerIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2024-01-18 10:21:24 +0100
commit3107a958816f3a09ce39a36b42d03a0b0046225f (patch)
treef4e0967017b591fd5d9a795cf8524f8d86bcf2c0
parentd72a760ac3895dd8a0bd3e55d4b51f9e22e04e6c (diff)
Make `ndpi_finalize_initialization()` returns an error code
We should check if the initialization was fine or not
-rw-r--r--example/ndpiReader.c9
-rw-r--r--src/include/ndpi_api.h4
-rw-r--r--src/lib/ndpi_main.c10
3 files changed, 14 insertions, 9 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c
index e597de3d4..3753bff12 100644
--- a/example/ndpiReader.c
+++ b/example/ndpiReader.c
@@ -2831,7 +2831,7 @@ static void on_protocol_discovered(struct ndpi_workflow * workflow,
static void setupDetection(u_int16_t thread_id, pcap_t * pcap_handle) {
NDPI_PROTOCOL_BITMASK enabled_bitmask;
struct ndpi_workflow_prefs prefs;
- int i;
+ int i, ret;
ndpi_cfg_error rc;
memset(&prefs, 0, sizeof(prefs));
@@ -2931,8 +2931,11 @@ static void setupDetection(u_int16_t thread_id, pcap_t * pcap_handle) {
cfgs[i].proto, cfgs[i].param, cfgs[i].value, rc);
}
-
- ndpi_finalize_initialization(ndpi_thread_info[thread_id].workflow->ndpi_struct);
+ ret = ndpi_finalize_initialization(ndpi_thread_info[thread_id].workflow->ndpi_struct);
+ if(ret != 0) {
+ fprintf(stderr, "Error ndpi_finalize_initialization: %d\n", ret);
+ exit(-1);
+ }
if(enable_doh_dot_detection)
ndpi_set_detection_preferences(ndpi_thread_info[thread_id].workflow->ndpi_struct, ndpi_pref_enable_tls_block_dissection, 1);
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h
index 3a5c7eccc..9c53713de 100644
--- a/src/include/ndpi_api.h
+++ b/src/include/ndpi_api.h
@@ -222,8 +222,10 @@ extern "C" {
*
* @par ndpi_str = the struct created for the protocol detection
*
+ * @return 0 on success
+ *
*/
- void ndpi_finalize_initialization(struct ndpi_detection_module_struct *ndpi_str);
+ int ndpi_finalize_initialization(struct ndpi_detection_module_struct *ndpi_str);
/**
* Frees the dynamic memory allocated members in the specified flow
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index bc850df64..39a72267c 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -3514,13 +3514,13 @@ static void ndpi_add_domain_risk_exceptions(struct ndpi_detection_module_struct
/* *********************************************** */
-void ndpi_finalize_initialization(struct ndpi_detection_module_struct *ndpi_str) {
+int ndpi_finalize_initialization(struct ndpi_detection_module_struct *ndpi_str) {
u_int i;
if(!ndpi_str)
- return;
+ return -1;
if(ndpi_str->finalized) /* Already finalized */
- return;
+ return 0;
ndpi_add_domain_risk_exceptions(ndpi_str);
@@ -3589,7 +3589,7 @@ void ndpi_finalize_initialization(struct ndpi_detection_module_struct *ndpi_str)
}
}
- if(ndpi_str->ac_automa_finalized) return;
+ if(ndpi_str->ac_automa_finalized) return -1;
ndpi_automa * const automa[] = { &ndpi_str->host_automa,
&ndpi_str->tls_cert_subject_automa,
@@ -3607,7 +3607,7 @@ void ndpi_finalize_initialization(struct ndpi_detection_module_struct *ndpi_str)
ndpi_str->finalized = 1;
- return;
+ return 0;
}
/* *********************************************** */