diff options
Diffstat (limited to 'src/lib/ndpi_domain_classify.c')
-rw-r--r-- | src/lib/ndpi_domain_classify.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/ndpi_domain_classify.c b/src/lib/ndpi_domain_classify.c index fa866f32d..f1a319067 100644 --- a/src/lib/ndpi_domain_classify.c +++ b/src/lib/ndpi_domain_classify.c @@ -47,6 +47,9 @@ ndpi_domain_classify* ndpi_domain_classify_alloc() { void ndpi_domain_classify_free(ndpi_domain_classify *s) { u_int32_t i; + if(!s) + return; + for(i=0; i<MAX_NUM_NDPI_DOMAIN_CLASSIFICATIONS; i++) { if(s->classes[i].domains != NULL) { ndpi_bitmap64_free(s->classes[i].domains); @@ -90,6 +93,8 @@ bool ndpi_domain_classify_add(ndpi_domain_classify *s, } else if(s->classes[i].class_id == 0) { s->classes[i].class_id = class_id; s->classes[i].domains = ndpi_bitmap64_alloc(); + if(!s->classes[i].domains) + s->classes[i].class_id = 0; break; } } @@ -117,6 +122,8 @@ u_int32_t ndpi_domain_classify_add_domains(ndpi_domain_classify *s, } else if(s->classes[i].class_id == 0) { s->classes[i].class_id = class_id; s->classes[i].domains = ndpi_bitmap64_alloc(); + if(!s->classes[i].domains) + s->classes[i].class_id = 0; break; } } |