mirror of https://github.com/cbeuw/Cloak
Bounds check elimination
This commit is contained in:
parent
32ef6b65f6
commit
70aa04354a
|
|
@ -19,11 +19,12 @@ const (
|
||||||
|
|
||||||
func AddRecordLayer(input []byte, typ byte, ver uint16) []byte {
|
func AddRecordLayer(input []byte, typ byte, ver uint16) []byte {
|
||||||
msgLen := len(input)
|
msgLen := len(input)
|
||||||
|
retLen := msgLen + recordLayerLength
|
||||||
var ret []byte
|
var ret []byte
|
||||||
if cap(input) > msgLen+recordLayerLength {
|
if cap(input) >= retLen {
|
||||||
ret = input[:msgLen+recordLayerLength]
|
ret = input[:retLen]
|
||||||
} else {
|
} else {
|
||||||
ret = make([]byte, msgLen+recordLayerLength)
|
ret = make([]byte, retLen)
|
||||||
}
|
}
|
||||||
copy(ret[recordLayerLength:], input)
|
copy(ret[recordLayerLength:], input)
|
||||||
ret[0] = typ
|
ret[0] = typ
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue