Skip to content

Commit d284024

Browse files
fix: include changes from fluent/fluent-bit#11614
Signed-off-by: Patrick Stephens <pat@telemetryforge.io>
1 parent e1fc25d commit d284024

2 files changed

Lines changed: 17 additions & 12 deletions

File tree

.github/workflows/unit-tests.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,11 @@ jobs:
3838
SANITIZE_ADDRESS=On
3939
SANITIZE_UNDEFINED=On
4040
- name: coverage
41+
# Coverage needs more stack for some of the tests
42+
# https://github.com/fluent/fluent-bit/pull/11614
4143
options: |
4244
FLB_COVERAGE=On
45+
FLB_CORO_STACK_SIZE=4194304
4346
# Uncomment to enable additional config as needed
4447
# - name: memory
4548
# options: |

source/src/flb_mp.c

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,27 +47,29 @@ int flb_mp_count(const void *data, size_t bytes)
4747

4848
int flb_mp_count_remaining(const void *data, size_t bytes, size_t *remaining_bytes)
4949
{
50-
size_t remaining;
50+
size_t remaining = 0;
5151
int count = 0;
5252
mpack_reader_t reader;
5353

54-
mpack_reader_init_data(&reader, (const char *) data, bytes);
55-
for (;;) {
56-
remaining = mpack_reader_remaining(&reader, NULL);
57-
if (!remaining) {
58-
break;
59-
}
60-
mpack_discard(&reader);
61-
if (mpack_reader_error(&reader)) {
62-
break;
54+
if (data) {
55+
mpack_reader_init_data(&reader, (const char *) data, bytes);
56+
for (;;) {
57+
remaining = mpack_reader_remaining(&reader, NULL);
58+
if (!remaining) {
59+
break;
60+
}
61+
mpack_discard(&reader);
62+
if (mpack_reader_error(&reader)) {
63+
break;
64+
}
65+
count++;
6366
}
64-
count++;
67+
mpack_reader_destroy(&reader);
6568
}
6669

6770
if (remaining_bytes) {
6871
*remaining_bytes = remaining;
6972
}
70-
mpack_reader_destroy(&reader);
7173
return count;
7274
}
7375

0 commit comments

Comments
 (0)