[metricbeat/graphite] Fix out-of-bounds panic in graphite server metric processing
Proposed commit message
Fixes a potential panic in the graphite server metricset when processing metrics with fewer parts than the configured template expects.
The template.Apply() function iterated over template parts and accessed parts[i] without verifying that the index was within bounds. When a metric had fewer segments than the template, this caused an index out of range panic. Now the patch handles this by adding a bounds check at the start of the loop iteration.
Checklist
- [x] My code follows the style guidelines of this project
- [x] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] I have made corresponding change to the default configuration files
- [ ] I have added tests that prove my fix is effective or that my feature works. Where relevant, I have used the
stresstest.shscript to run them under stress conditions and race detector to verify their stability. - [x] I have added an entry in
./changelog/fragmentsusing the changelog tool.
:robot: GitHub comments
Just comment with:
rundocs-build: Re-trigger the docs validation. (use unformatted text in the comment!)
This pull request does not have a backport label. If this is a bug or security fix, could you label this PR @shmsr? 🙏. For such, you'll need to label your PR with:
- The upcoming major version of the Elastic Stack
- The upcoming minor version of the Elastic Stack (if you're not pushing a breaking change)
To fixup this pull request, you need to add the backport labels for the needed branches, such as:
backport-8./dis the label to automatically backport to the8./dbranch./dis the digitbackport-active-allis the label that automatically backports to all active branches.backport-active-8is the label that automatically backports to all active minor branches for the 8 major.backport-active-9is the label that automatically backports to all active minor branches for the 9 major.
Pinging @elastic/elastic-agent-data-plane (Team:Elastic-Agent-Data-Plane)
@mergifyio backport 8.19 9.1 9.2 9.3
backport 8.19 9.1 9.2 9.3
❌ No backport have been created
- #48130 [8.19](backport #47916) [metricbeat/graphite] Fix out-of-bounds panic in graphite server metric processing has been created for branch
8.19 - #48131 [9.1](backport #47916) [metricbeat/graphite] Fix out-of-bounds panic in graphite server metric processing has been created for branch
9.1 - #48132 [9.2](backport #47916) [metricbeat/graphite] Fix out-of-bounds panic in graphite server metric processing has been created for branch
9.2 - Backport to branch
9.3failed
GitHub error: Branch not found