fluent-bit
fluent-bit copied to clipboard
filter_nest: define a new var to prevent pointer arithmetic
https://github.com/fluent/fluent-bit/issues/8137
An arg of FLB_LOG_EVENT_STRING_LENGTH_VALUE is a flb_log_event_encoder_size_t.
flb_log_event_encoder_size_t is size_t* on Windows.
It can cause pointer arithmetic and the output can be larger value.
e.g. FLB_LOG_EVENT_STRING_LENGTH_VALUE(10+3) can be 10 + sizeof(size_t*) * 3 = 34.
We use 'new_size' to prevent pointer arithmetic.
Enter [N/A] in the box, if an item is not applicable to your change.
Testing Before we can approve your change; please submit the following in a comment:
- [X] Example configuration file for the change
- [N/A] Debug log output from testing the change
- [N/A] Attached Valgrind output that shows no leaks or memory corruption was found
If this is a change to packaging of containers or native binaries then please confirm it works for all targets.
- [N/A] Run local packaging test showing all targets (including any new ones) build.
- [N/A] Set
ok-package-testlabel to test for all targets (requires maintainer to do).
Documentation
- [N/A] Documentation required for this feature
Backporting
- [N/A] Backport to latest stable release.
Configuration
[SERVICE]
Log_Level debug
[INPUT]
Name dummy
Dummy {"map_data":{"key":"value", "id":123}}
samples 1
[FILTER]
Name nest
Match *
Operation lift
Nested_under map_data
Add_prefix _map_data.
[OUTPUT]
name stdout
match *
Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.
Hopefully there will be a review of this fix soon so that we can get it released
I've added the labels to attempt to get you a Windows container @nokute78