aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--example/reader_util.c26
-rw-r--r--src/lib/protocols/kerberos.c10
2 files changed, 19 insertions, 17 deletions
diff --git a/example/reader_util.c b/example/reader_util.c
index 9f011c4cc..14174c3d1 100644
--- a/example/reader_util.c
+++ b/example/reader_util.c
@@ -538,10 +538,6 @@ int ndpi_workflow_node_cmp(const void *a, const void *b) {
static void
ndpi_flow_update_byte_count(struct ndpi_flow_info *flow, const void *x,
unsigned int len, u_int8_t src_to_dst_direction) {
- const unsigned char *data = x;
- u_int32_t i;
- u_int32_t current_count = 0;
-
/*
* implementation note: The spec says that 4000 octets is enough of a
* sample size to accurately reflect the byte distribution. Also, to avoid
@@ -551,6 +547,8 @@ ndpi_flow_update_byte_count(struct ndpi_flow_info *flow, const void *x,
if((flow->entropy.src2dst_pkt_count+flow->entropy.dst2src_pkt_count) <= max_num_packets_per_flow) {
/* octet count was already incremented before processing this payload */
+ u_int32_t current_count;
+
if(src_to_dst_direction) {
current_count = flow->entropy.src2dst_l4_bytes - len;
} else {
@@ -558,6 +556,9 @@ ndpi_flow_update_byte_count(struct ndpi_flow_info *flow, const void *x,
}
if(current_count < ETTA_MIN_OCTETS) {
+ u_int32_t i;
+ const unsigned char *data = x;
+
for(i=0; i<len; i++) {
if(src_to_dst_direction) {
flow->entropy.src2dst_byte_count[data[i]]++;
@@ -586,11 +587,13 @@ static void
ndpi_flow_update_byte_dist_mean_var(ndpi_flow_info_t *flow, const void *x,
unsigned int len, u_int8_t src_to_dst_direction) {
const unsigned char *data = x;
- double delta;
- unsigned int i;
if((flow->entropy.src2dst_pkt_count+flow->entropy.dst2src_pkt_count) <= max_num_packets_per_flow) {
+ unsigned int i;
+
for(i=0; i<len; i++) {
+ double delta;
+
if(src_to_dst_direction) {
flow->entropy.src2dst_num_bytes += 1;
delta = ((double)data[i] - flow->entropy.src2dst_bd_mean);
@@ -612,15 +615,16 @@ float ndpi_flow_get_byte_count_entropy(const uint32_t byte_count[256],
unsigned int num_bytes)
{
int i;
- float tmp, sum = 0.0;
+ float sum = 0.0;
- for(i=0; i<256; i++) {
- tmp = (float) byte_count[i] / (float) num_bytes;
+ for(i=0; i<256; i++) {
+ float tmp = (float) byte_count[i] / (float) num_bytes;
+
if(tmp > FLT_EPSILON) {
sum -= tmp * logf(tmp);
}
}
- return sum / logf(2.0);
+ return(sum / logf(2.0));
}
/* ***************************************************** */
@@ -687,7 +691,7 @@ static struct ndpi_flow_info *get_ndpi_flow_info(struct ndpi_workflow * workflow
if(l4_packet_len > workflow->stats.max_packet_len)
workflow->stats.max_packet_len = l4_packet_len;
- l4 = ((const u_int8_t *) l3 + l4_offset);
+ l4 =& ((const u_int8_t *) l3)[l4_offset];
if(*proto == IPPROTO_TCP && l4_packet_len >= sizeof(struct ndpi_tcphdr)) {
u_int tcp_len;
diff --git a/src/lib/protocols/kerberos.c b/src/lib/protocols/kerberos.c
index 1eb006108..81f84a8ac 100644
--- a/src/lib/protocols/kerberos.c
+++ b/src/lib/protocols/kerberos.c
@@ -209,7 +209,7 @@ void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct,
cname_len = packet->payload[name_offset];
if((cname_len+name_offset) < packet->payload_packet_len) {
- u_int realm_len, realm_offset, i;
+ u_int realm_len, realm_offset;
char cname_str[48];
u_int8_t num_cname = 0;
@@ -254,7 +254,7 @@ void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct,
char realm_str[48];
if(realm_len > sizeof(realm_str)-1)
- realm_len = sizeof(realm_str);
+ realm_len = sizeof(realm_str)-1;
realm_offset += 1;
@@ -292,7 +292,6 @@ void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct,
realm_len = packet->payload[name_offset];
if((realm_len+name_offset) < packet->payload_packet_len) {
- u_int i;
char realm_str[48];
if(realm_len > sizeof(realm_str)-1)
@@ -328,7 +327,7 @@ void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct,
return;
} else if(msg_type == 0x0d) /* TGS-REP */ {
- u_int16_t koffsetp, pad_data_len, cname_offset;
+ u_int16_t pad_data_len, cname_offset;
#ifdef KERBEROS_DEBUG
printf("[Kerberos] Processing TGS-REP\n");
@@ -344,8 +343,7 @@ void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct,
if((cname_offset+cname_offset) < packet->payload_packet_len) {
char cname_str[48];
- u_int i;
-
+
if(cname_len > sizeof(cname_str)-1)
cname_len = sizeof(cname_str)-1;