diff options
-rw-r--r-- | example/ndpiReader.c | 4 | ||||
-rw-r--r-- | src/include/ndpi_api.h.in | 4 | ||||
-rw-r--r-- | src/lib/ndpi_main.c | 9 |
3 files changed, 10 insertions, 7 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c index fceffa30a..b4153c8bf 100644 --- a/example/ndpiReader.c +++ b/example/ndpiReader.c @@ -3693,8 +3693,8 @@ void automataUnitTest() { void *automa = ndpi_init_automa(); assert(automa); - assert(ndpi_add_string_to_automa(automa, "hello") == 0); - assert(ndpi_add_string_to_automa(automa, "world") == 0); + assert(ndpi_add_string_to_automa(automa, strdup("hello")) == 0); + assert(ndpi_add_string_to_automa(automa, strdup("world")) == 0); ndpi_finalize_automa(automa); assert(ndpi_match_string(automa, "This is the wonderful world of nDPI") == 1); ndpi_free_automa(automa); 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); } /* ****************************************************** */ |