fix(tree): correctly expand the capacity of params (#3502)

This commit is contained in:
Georgi Dimitrov
2023-12-07 00:38:55 +00:00
committed by GitHub
parent 44d0dd7092
commit 386d244068
3 changed files with 85 additions and 4 deletions
+15 -1
View File
@@ -497,7 +497,14 @@ walk: // Outer loop for walking the tree
}
// Save param value
if params != nil && cap(*params) > 0 {
if params != nil {
// Preallocate capacity if necessary
if cap(*params) < int(globalParamsCount) {
newParams := make(Params, len(*params), globalParamsCount)
copy(newParams, *params)
*params = newParams
}
if value.params == nil {
value.params = params
}
@@ -544,6 +551,13 @@ walk: // Outer loop for walking the tree
case catchAll:
// 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
}
if value.params == nil {
value.params = params
}