mirror of
https://github.com/golang/go
synced 2024-11-17 03:14:50 -07:00
bytes: limit allocation in SplitN
This commit is contained in:
parent
6f1dce0fcb
commit
f8df09d65e
@ -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--
|
||||
|
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user