| Server IP : 189.126.111.107 / Your IP : 216.73.217.69 Web Server : Apache System : Linux www.gadotticar.com.br 5.4.0-135-generic #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022 x86_64 User : gadotticar ( 1000) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib/go/test/fixedbugs/ |
Upload File : |
// errorcheck -0 -m -l
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package foo
// Escape analysis needs to treat the uintptr-typed reflect.*Header fields as pointers.
import (
"reflect"
"unsafe"
)
type immutableBytes []byte
// Bug was failure to leak param b.
func toString(b immutableBytes) string { // ERROR "leaking param: b$"
var s string
if len(b) == 0 {
return s
}
strHeader := (*reflect.StringHeader)(unsafe.Pointer(&s))
strHeader.Data = (*reflect.SliceHeader)(unsafe.Pointer(&b)).Data
l := len(b)
strHeader.Len = l
return s
}