diff options
author | Luca Deri <deri@ntop.org> | 2019-07-30 08:04:39 +0200 |
---|---|---|
committer | Luca Deri <deri@ntop.org> | 2019-07-30 08:04:39 +0200 |
commit | 398e9718ea05b14a47a3b9bac919a3daf1134e0c (patch) | |
tree | 3a76b5150b74c8245015476bb6e2f38e58b4ac0c /src/lib/ndpi_utils.c | |
parent | a0be9ea63951978b6add9172d575bbdec3d11c9e (diff) |
JSON serialization fixes
Diffstat (limited to 'src/lib/ndpi_utils.c')
-rw-r--r-- | src/lib/ndpi_utils.c | 10 |
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)); |