Skip to content

filter_nest: define a new var to prevent pointer arithmetic#8454

Merged
edsiper merged 1 commit intofluent:masterfrom
nokute78:fix_8137
Mar 17, 2024
Merged

filter_nest: define a new var to prevent pointer arithmetic#8454
edsiper merged 1 commit intofluent:masterfrom
nokute78:fix_8137

Conversation

@nokute78
Copy link
Contributor

@nokute78 nokute78 commented Feb 4, 2024

#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:

  • 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-test label 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.

@janlonsetteig
Copy link

Hopefully there will be a review of this fix soon so that we can get it released

@patrick-stephens
Copy link
Contributor

I've added the labels to attempt to get you a Windows container @nokute78

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.
We use 'new_size' to prevent pointer arithmetic.

Signed-off-by: Takahiro Yamashita <nokute78@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants