Skip to content

Commit

Permalink
Fix byte-order issue during ndpiReader tcp/udp src/dst port serializa…
Browse files Browse the repository at this point in the history
…tion. Fixes ntop#1608.

 * fixed possible memory leak caused by an invalid call to `node_proto_guess_walker()` during serialization
 * execute serialization code while running regression tests

Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
  • Loading branch information
utoni committed Jun 30, 2022
1 parent c96f451 commit eec5bcc
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 6 deletions.
6 changes: 2 additions & 4 deletions example/ndpiReader.c
Original file line number Diff line number Diff line change
Expand Up @@ -1624,8 +1624,8 @@ static void printFlowSerialized(u_int16_t thread_id,
ndpi_serialize_string_float(serializer, "duration_ms", (l-f)/1000.0, "%.3f");
ndpi_serialize_string_string(serializer, "src_name", flow->src_name);
ndpi_serialize_string_string(serializer, "dst_name", flow->dst_name);
ndpi_serialize_string_uint32(serializer, "src_port", flow->src_port);
ndpi_serialize_string_uint32(serializer, "dst_port", flow->dst_port);
ndpi_serialize_string_uint32(serializer, "src_port", ntohs(flow->src_port));
ndpi_serialize_string_uint32(serializer, "dst_port", ntohs(flow->dst_port));
ndpi_serialize_string_uint32(serializer, "ip_version", flow->ip_version);
ndpi_serialize_string_uint32(serializer, "vlan_id", flow->vlan_id);
ndpi_serialize_string_uint32(serializer, "bidirectional", flow->bidirectional);
Expand Down Expand Up @@ -3405,8 +3405,6 @@ static void printFlowsStats() {
for(i = 0; i < NUM_ROOTS; i++) {
ndpi_twalk(ndpi_thread_info[thread_id].workflow->ndpi_flows_root[i],
node_print_known_proto_walker, &thread_id);
ndpi_twalk(ndpi_thread_info[thread_id].workflow->ndpi_flows_root[i],
node_proto_guess_walker, &thread_id);
ndpi_twalk(ndpi_thread_info[thread_id].workflow->ndpi_flows_root[i],
node_print_unknown_proto_walker, &thread_id);
}
Expand Down
4 changes: 2 additions & 2 deletions tests/do.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ build_results() {
#echo $f
# create result files if not present
if [ ! -f result/$f.out ]; then
CMD="$READER -q -t -i pcap/$f -w result/$f.out -v 2"
CMD="$READER -q -K JSON -k /dev/null -t -i pcap/$f -w result/$f.out -v 2"
$CMD
fi
done
Expand Down Expand Up @@ -73,7 +73,7 @@ check_results() {
fi

if [ -f result/$f.out ]; then
CMD="$READER -q -t -i pcap/$f -w /tmp/reader.out -v 2"
CMD="$READER -q -K JSON -k /dev/null -t -i pcap/$f -w /tmp/reader.out -v 2"
$CMD
CMD_RET=$?
if [ $CMD_RET -eq 0 ]; then
Expand Down

0 comments on commit eec5bcc

Please sign in to comment.