From 398e9718ea05b14a47a3b9bac919a3daf1134e0c Mon Sep 17 00:00:00 2001 From: Luca Deri Date: Tue, 30 Jul 2019 08:04:39 +0200 Subject: JSON serialization fixes --- src/lib/ndpi_utils.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/lib') diff --git a/src/lib/ndpi_utils.c b/src/lib/ndpi_utils.c index c27a61f7a..0381e057f 100644 --- a/src/lib/ndpi_utils.c +++ b/src/lib/ndpi_utils.c @@ -807,19 +807,25 @@ static int ndpi_json_string_escape(const char *src, int src_len, char *dst, int void ndpi_reset_serializer(ndpi_serializer *serializer) { if(serializer->fmt == ndpi_serialization_format_json) { - u_int32_t buff_diff = serializer->buffer_size - serializer->size_used; + u_int32_t buff_diff; + + serializer->size_used = 2 * sizeof(u_int8_t); + buff_diff = serializer->buffer_size - serializer->size_used; /* Note: please keep a space at the beginning as it is used for arrays when an end-of-record is used */ serializer->size_used += snprintf((char *) &serializer->buffer[serializer->size_used], buff_diff, " {}"); + } else if(serializer->fmt == ndpi_serialization_format_csv) serializer->size_used = 0; else - serializer->size_used = 2 * sizeof(u_int8_t); + serializer->size_used = 2 * sizeof(u_int8_t); } /* ********************************** */ int ndpi_init_serializer(ndpi_serializer *serializer, ndpi_serialization_format fmt) { + memset(serializer, 0, sizeof(ndpi_serializer)); + serializer->buffer_size = 8192; serializer->buffer = (u_int8_t *) malloc(serializer->buffer_size * sizeof(u_int8_t)); -- cgit v1.2.3