aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Cardigliano <cardigliano@ntop.org>2025-02-26 18:24:43 +0100
committerAlfredo Cardigliano <cardigliano@ntop.org>2025-02-26 18:24:43 +0100
commit70b7d3d1eb4608d000bcace4d0852f25e7b731ee (patch)
tree696baecebb6831392d5024c93af6dcba6c3e39f8
parent908d4966b3578c419753e7a83c214adaec2327be (diff)
Fix csv serialization
-rw-r--r--src/lib/ndpi_serializer.c6
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