aboutsummaryrefslogtreecommitdiff
path: root/src/lib/ndpi_utils.c
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2019-07-30 08:04:39 +0200
committerLuca Deri <deri@ntop.org>2019-07-30 08:04:39 +0200
commit398e9718ea05b14a47a3b9bac919a3daf1134e0c (patch)
tree3a76b5150b74c8245015476bb6e2f38e58b4ac0c /src/lib/ndpi_utils.c
parenta0be9ea63951978b6add9172d575bbdec3d11c9e (diff)
JSON serialization fixes
Diffstat (limited to 'src/lib/ndpi_utils.c')
-rw-r--r--src/lib/ndpi_utils.c10
1 files changed, 8 insertions, 2 deletions
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));