bytes: limit allocation in SplitN

This commit is contained in:
Philippe Antoine 2022-04-04 22:09:07 +02:00
parent 6f1dce0fcb
commit f8df09d65e
2 changed files with 5 additions and 0 deletions

View File

@ -348,6 +348,9 @@ func genSplit(s, sep []byte, sepSave, n int) [][]byte {
if n < 0 {
n = Count(s, sep) + 1
}
if n > len(s)+1 {
n = len(s) + 1
}
a := make([][]byte, n)
n--

View File

@ -8,6 +8,7 @@ import (
. "bytes"
"fmt"
"internal/testenv"
"math"
"math/rand"
"reflect"
"strings"
@ -723,6 +724,7 @@ var splittests = []SplitTest{
{"1 2", " ", 3, []string{"1", "2"}},
{"123", "", 2, []string{"1", "23"}},
{"123", "", 17, []string{"1", "2", "3"}},
{"bT", "T", math.MaxInt / 4, []string{"b", ""}},
}
func TestSplit(t *testing.T) {