Skip to content

fix: Handle block offset exceeding chunk length in memchunk.go - #13661

Merged
MasslessParticle merged 2 commits into
grafana:mainfrom
cyriltovena:bound-check-chunk-blocks
Jul 26, 2024
Merged

fix: Handle block offset exceeding chunk length in memchunk.go#13661
MasslessParticle merged 2 commits into
grafana:mainfrom
cyriltovena:bound-check-chunk-blocks

Conversation

@cyriltovena

Copy link
Copy Markdown
Contributor

The code change in memchunk.go fixes a bug where the block offset plus the length exceeds the chunk length. This bug is addressed by adding a check to ensure that the offset plus length does not exceed the chunk length before accessing the byte slice.

This seems to happen only when a chunk is corrupted and the cause is still unknown.

What this PR does / why we need it:

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

Checklist

  • Reviewed the CONTRIBUTING.md guide (required)
  • Documentation added
  • Tests updated
  • Title matches the required conventional commits format, see here
    • Note that Promtail is considered to be feature complete, and future development for logs collection will be in Grafana Alloy. As such, feat PRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.
  • Changes that require user attention or interaction to upgrade are documented in docs/sources/setup/upgrade/_index.md
  • For Helm chart changes bump the Helm chart version in production/helm/loki/Chart.yaml and update production/helm/loki/CHANGELOG.md and production/helm/loki/README.md. Example PR
  • If the change is deprecating or removing a configuration option, update the deprecated-config.yaml and deleted-config.yaml files respectively in the tools/deprecated-config-checker directory. Example PR
The code change in memchunk.go fixes a bug where the block offset plus the length exceeds the chunk length. This bug is addressed by adding a check to ensure that the offset plus length does not exceed the chunk length before accessing the byte slice.

This seems to happen only when a chunk is corrupted and the cause is still unknown.
@cyriltovena
cyriltovena requested a review from a team as a code owner July 25, 2024 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2 participants