aboutsummaryrefslogtreecommitdiff
path: root/src/lib/ndpi_serializer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/ndpi_serializer.c')
-rw-r--r--src/lib/ndpi_serializer.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib/ndpi_serializer.c b/src/lib/ndpi_serializer.c
index be57dd9c9..5572c7eab 100644
--- a/src/lib/ndpi_serializer.c
+++ b/src/lib/ndpi_serializer.c
@@ -155,7 +155,7 @@ int ndpi_init_serializer_ll(ndpi_serializer *_serializer,
memset(serializer, 0, sizeof(ndpi_private_serializer));
- serializer->buffer_size = buffer_size;
+ serializer->initial_buffer_size = serializer->buffer_size = buffer_size;
serializer->buffer = (u_int8_t *) malloc(serializer->buffer_size * sizeof(u_int8_t));
if(serializer->buffer == NULL)
@@ -178,7 +178,7 @@ int ndpi_init_serializer_ll(ndpi_serializer *_serializer,
int ndpi_init_serializer(ndpi_serializer *_serializer,
ndpi_serialization_format fmt) {
- return ndpi_init_serializer_ll(_serializer, fmt, 8192);
+ return ndpi_init_serializer_ll(_serializer, fmt, NDPI_SERIALIZER_DEFAULT_BUFFER_SIZE);
}
/* ********************************** */
@@ -250,8 +250,14 @@ static inline int ndpi_extend_serializer_buffer(ndpi_serializer *_serializer, u_
void *r;
ndpi_private_serializer *serializer = (ndpi_private_serializer*)_serializer;
- if(min_len < 1024)
- min_len = 1024;
+ if (min_len < NDPI_SERIALIZER_DEFAULT_BUFFER_INCR) {
+ if (serializer->initial_buffer_size < NDPI_SERIALIZER_DEFAULT_BUFFER_INCR) {
+ if (min_len < serializer->initial_buffer_size)
+ min_len = serializer->initial_buffer_size;
+ } else {
+ min_len = NDPI_SERIALIZER_DEFAULT_BUFFER_INCR;
+ }
+ }
new_size = serializer->buffer_size + min_len;