Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 1 commit into from
Mar 17, 2024

Conversation

nokute78
Copy link
Collaborator

@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 <[email protected]>
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