Compare commits

...

3 Commits

Author SHA1 Message Date
Milad
86a2083117
Merge 38c24307a96a49e25391b9fe12d6c803ac2c0a82 into 5f4f9643258dc2a65e684b63f12c8d543c936c67 2026-05-13 08:27:39 +03:30
dependabot[bot]
5f4f964325
chore(deps): bump the actions group across 1 directory with 2 updates (#4640)
Bumps the actions group with 2 updates in the / directory: [codecov/codecov-action](https://github.com/codecov/codecov-action) and [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action).


Updates `codecov/codecov-action` from 5 to 6
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v5...v6)

Updates `aquasecurity/trivy-action` from 0.35.0 to 0.36.0
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.35.0...v0.36.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: aquasecurity/trivy-action
  dependency-version: 0.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-09 10:20:32 +08:00
Miladev95
38c24307a9 Add ensureParamsCapacity helper and doc comment in tree.go 2025-12-08 13:23:55 +03:30
3 changed files with 20 additions and 13 deletions

View File

@ -78,6 +78,6 @@ jobs:
run: make test
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@v6
with:
flags: ${{ matrix.os }},go-${{ matrix.go }},${{ matrix.test-tags }}

View File

@ -27,7 +27,7 @@ jobs:
fetch-depth: 0
- name: Run Trivy vulnerability scanner (source code)
uses: aquasecurity/trivy-action@0.35.0
uses: aquasecurity/trivy-action@v0.36.0
with:
scan-type: "fs"
scan-ref: "."
@ -44,7 +44,7 @@ jobs:
sarif_file: "trivy-results.sarif"
- name: Run Trivy scanner (table output for logs)
uses: aquasecurity/trivy-action@0.35.0
uses: aquasecurity/trivy-action@v0.36.0
if: always()
with:
scan-type: "fs"

27
tree.go
View File

@ -58,6 +58,8 @@ func (trees methodTrees) get(method string) *node {
return nil
}
// longestCommonPrefix returns the length in bytes of the longest common prefix
// of the two input strings `a` and `b`.
func longestCommonPrefix(a, b string) int {
i := 0
max_ := min(len(a), len(b))
@ -410,6 +412,19 @@ type skippedNode struct {
paramsCount int16
}
// ensureParamsCapacity ensures that the params slice has capacity for at least needed elements.
// It preserves existing length and content.
func ensureParamsCapacity(params *Params, needed int) {
if params == nil {
return
}
if cap(*params) < needed {
newParams := make(Params, len(*params), needed)
copy(newParams, *params)
*params = newParams
}
}
// Returns the handle registered with the given path (key). The values of
// wildcards are saved to a map.
// If no handle can be found, a TSR (trailing slash redirect) recommendation is
@ -497,11 +512,7 @@ walk: // Outer loop for walking the tree
// Save param value
if params != nil {
// Preallocate capacity if necessary
if cap(*params) < int(globalParamsCount) {
newParams := make(Params, len(*params), globalParamsCount)
copy(newParams, *params)
*params = newParams
}
ensureParamsCapacity(params, int(globalParamsCount))
if value.params == nil {
value.params = params
@ -550,11 +561,7 @@ walk: // Outer loop for walking the tree
// Save param value
if params != nil {
// Preallocate capacity if necessary
if cap(*params) < int(globalParamsCount) {
newParams := make(Params, len(*params), globalParamsCount)
copy(newParams, *params)
*params = newParams
}
ensureParamsCapacity(params, int(globalParamsCount))
if value.params == nil {
value.params = params