diff options
author | Alfredo Cardigliano <cardigliano@ntop.org> | 2025-02-26 18:24:43 +0100 |
---|---|---|
committer | Alfredo Cardigliano <cardigliano@ntop.org> | 2025-02-26 18:24:43 +0100 |
commit | 70b7d3d1eb4608d000bcace4d0852f25e7b731ee (patch) | |
tree | 696baecebb6831392d5024c93af6dcba6c3e39f8 | |
parent | 908d4966b3578c419753e7a83c214adaec2327be (diff) |
Fix csv serialization
-rw-r--r-- | src/lib/ndpi_serializer.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/ndpi_serializer.c b/src/lib/ndpi_serializer.c index 040537464..9b7634a68 100644 --- a/src/lib/ndpi_serializer.c +++ b/src/lib/ndpi_serializer.c @@ -701,7 +701,7 @@ int ndpi_serialize_end_of_record(ndpi_serializer *_serializer) { static inline void ndpi_serialize_csv_pre(ndpi_private_serializer *serializer) { if(serializer->status.flags & NDPI_SERIALIZER_STATUS_EOR) { serializer->status.flags &= ~NDPI_SERIALIZER_STATUS_EOR; - } else if (serializer->status.buffer.size_used == 0) { + } else if (!(serializer->status.flags & NDPI_SERIALIZER_STATUS_NOT_EMPTY)){ /* nothing to do */ } else { if(serializer->buffer.size > serializer->status.buffer.size_used) { @@ -709,6 +709,7 @@ static inline void ndpi_serialize_csv_pre(ndpi_private_serializer *serializer) { serializer->status.buffer.size_used++; } } + serializer->status.flags |= NDPI_SERIALIZER_STATUS_NOT_EMPTY; } /* ********************************** */ @@ -2104,7 +2105,8 @@ int ndpi_serialize_string_string_len(ndpi_serializer *_serializer, ndpi_serialize_csv_pre(serializer); needed--; - memcpy(&serializer->buffer.data[serializer->status.buffer.size_used], value, needed); + if (needed > 0) + memcpy(&serializer->buffer.data[serializer->status.buffer.size_used], value, needed); serializer->status.buffer.size_used += needed; return(0); } else |