Warnign fix

This commit is contained in:
Luca Deri 2019-07-22 21:42:55 +02:00
parent b13780c6e0
commit db36294dcb

View file

@ -3168,18 +3168,16 @@ void bpf_filter_pkt_peak_filter(json_object **jObj_bpfFilter,
int sh_size, int sh_size,
const char *dst_host_array[16], const char *dst_host_array[16],
int dh_size) { int dh_size) {
char filter[2048]; char filter[2048] = { '\0' };
int produced = 0; int produced = 0;
int i = 0; int i = 0, l = 0;
if(port_array[0] != INIT_VAL) { if(port_array[0] != INIT_VAL) {
int l;
strcpy(filter, "not (src port "); strcpy(filter, "not (src port ");
l = strlen(filter);
while(i < p_size && port_array[i] != INIT_VAL) { while(i < p_size && port_array[i] != INIT_VAL) {
l = strlen(filter);
if(i+1 == p_size || port_array[i+1] == INIT_VAL) if(i+1 == p_size || port_array[i+1] == INIT_VAL)
snprintf(&filter[l], sizeof(filter)-l, "%d", port_array[i]); snprintf(&filter[l], sizeof(filter)-l, "%d", port_array[i]);
else else
@ -3188,66 +3186,53 @@ void bpf_filter_pkt_peak_filter(json_object **jObj_bpfFilter,
i++; i++;
} }
l = strlen(filter); l += snprintf(&filter[l], sizeof(filter)-l, "%s", ")");
snprintf(&filter[l], sizeof(filter)-l, "%s", ")");
produced = 1; produced = 1;
} }
if(src_host_array[0] != NULL) { if(src_host_array[0] != NULL) {
int l;
if(port_array[0] != INIT_VAL) if(port_array[0] != INIT_VAL)
strncat(filter, " and not (src ", sizeof(filter)-strlen(filter)); l += snprintf(&filter[l], sizeof(filter)-l, " and not (src ");
else else
strcpy(filter, "not (src "); l += snprintf(&filter[l], sizeof(filter)-l, "not (src ");
i = 0;
i=0;
while(i < sh_size && src_host_array[i] != NULL) { while(i < sh_size && src_host_array[i] != NULL) {
l = strlen(filter);
if(i+1 == sh_size || src_host_array[i+1] == NULL) if(i+1 == sh_size || src_host_array[i+1] == NULL)
snprintf(&filter[l], sizeof(filter)-l, "%s", src_host_array[i]); l += snprintf(&filter[l], sizeof(filter)-l, "%s", src_host_array[i]);
else else
snprintf(&filter[l], sizeof(filter)-l, "%s or ", src_host_array[i]); l += snprintf(&filter[l], sizeof(filter)-l, "%s or ", src_host_array[i]);
i++; i++;
} }
l = strlen(filter); l += snprintf(&filter[l], sizeof(filter)-l, "%s", ")");
snprintf(&filter[l], sizeof(filter)-l, "%s", ")");
produced = 1; produced = 1;
} }
if(dst_host_array[0] != NULL) { if(dst_host_array[0] != NULL) {
int l;
if(port_array[0] != INIT_VAL || src_host_array[0] != NULL) if(port_array[0] != INIT_VAL || src_host_array[0] != NULL)
strncat(filter, " and not (dst ", sizeof(filter)-strlen(filter)); l += snprintf(&filter[l], sizeof(filter)-l, " and not (dst ");
else else
strcpy(filter, "not (dst "); l += snprintf(&filter[l], sizeof(filter)-l, "not (dst ");
i=0; i=0;
while(i < dh_size && dst_host_array[i] != NULL) { while(i < dh_size && dst_host_array[i] != NULL) {
l = strlen(filter);
if(i+1 == dh_size || dst_host_array[i+1] == NULL) if(i+1 == dh_size || dst_host_array[i+1] == NULL)
snprintf(&filter[l], sizeof(filter)-l, "%s", dst_host_array[i]); l += snprintf(&filter[l], sizeof(filter)-l, "%s", dst_host_array[i]);
else else
snprintf(&filter[l], sizeof(filter)-l, "%s or ", dst_host_array[i]); l += snprintf(&filter[l], sizeof(filter)-l, "%s or ", dst_host_array[i]);
i++; i++;
} }
l = strlen(filter); l += snprintf(&filter[l], sizeof(filter)-l, "%s", ")");
snprintf(&filter[l], sizeof(filter)-l, "%s", ")");
produced = 1; produced = 1;
} }
if(produced) if(produced)
json_object_object_add(*jObj_bpfFilter, "pkt.peak.filter", json_object_new_string(filter)); json_object_object_add(*jObj_bpfFilter, "pkt.peak.filter", json_object_new_string(filter));
else else