diff options
author | Alfredo Cardigliano <cardigliano@ntop.org> | 2021-06-14 14:41:14 +0200 |
---|---|---|
committer | Alfredo Cardigliano <cardigliano@ntop.org> | 2021-06-14 14:41:14 +0200 |
commit | 4aefbe0c7a665ee077b3ddbfc0c7738cd7333558 (patch) | |
tree | 8feed32859899427e3ebf9339951284db487ad6a /src | |
parent | 380286c06974451bed47f14455272f051f809cbe (diff) |
Call ac_automata_release with free_pattern = 1 (malloc'ed patterns expected in ndpi_add_string_to_automa)
Diffstat (limited to 'src')
-rw-r--r-- | src/include/ndpi_api.h.in | 4 | ||||
-rw-r--r-- | src/lib/ndpi_main.c | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/include/ndpi_api.h.in b/src/include/ndpi_api.h.in index a2e362acd..f2da3b186 100644 --- a/src/include/ndpi_api.h.in +++ b/src/include/ndpi_api.h.in @@ -840,7 +840,7 @@ extern "C" { * Add a string to match to an automata * * @par The automata initialized with ndpi_init_automa(); - * @par The (sub)string to search + * @par The (sub)string to search (malloc'ed memory) * @par The number associated with this string * @return 0 in case of no error, or -1 if an error occurred. * @@ -851,7 +851,7 @@ extern "C" { * Add a string to match to an automata. Same as ndpi_add_string_value_to_automa() with num set to 1 * * @par The automata initialized with ndpi_init_automa(); - * @par The (sub)string to search + * @par The (sub)string to search (malloc'ed memory) * @return 0 in case of no error, or -1 if an error occurred. * */ diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index 2a3e8664d..25b9259ea 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -701,15 +701,18 @@ static void init_string_based_protocols(struct ndpi_detection_module_struct *ndp /* ************************ */ for(i = 0; tls_certificate_match[i].string_to_match != NULL; i++) { + #if 0 printf("%s() %s / %u\n", __FUNCTION__, tls_certificate_match[i].string_to_match, tls_certificate_match[i].protocol_id); #endif + /* Note: string_to_match is not malloc'ed here as ac_automata_release is + * called with free_pattern = 0 */ ndpi_add_string_value_to_automa(ndpi_str->tls_cert_subject_automa.ac_automa, - tls_certificate_match[i].string_to_match, - tls_certificate_match[i].protocol_id); + tls_certificate_match[i].string_to_match, + tls_certificate_match[i].protocol_id); } /* ************************ */ @@ -2427,7 +2430,7 @@ int ndpi_add_string_to_automa(void *_automa, char *str) { /* ****************************************************** */ void ndpi_free_automa(void *_automa) { - ac_automata_release((AC_AUTOMATA_t *) _automa, 0); + ac_automata_release((AC_AUTOMATA_t *) _automa, 1); } /* ****************************************************** */ |