/
/
opt
/
golang
/
1.22.0
/
src
/
cmd
/
cgo
/
internal
/
testsanitizers
/
testdata
Server: in-mum-web1112.main-hosting.eu (62.72.28.111)
You: 216.73.216.137
PHP 8.3.16
Dir:
/opt/golang/1.22.0/src/cmd/cgo/internal/testsanitizers/testdata
Edit:
/opt/golang/1.22.0/src/cmd/cgo/internal/testsanitizers/testdata/asan_useAfterReturn.go
// Copyright 2021 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 main // The -fsanitize=address option of C compier can detect stack-use-after-return bugs. // In the following program, the local variable 'local' was moved to heap by the Go // compiler because foo() is returning the reference to 'local', and return stack of // foo() will be invalid. Thus for main() to use the reference to 'local', the 'local' // must be available even after foo() has finished. Therefore, Go has no such issue. import "fmt" var ptr *int func main() { foo() fmt.Printf("ptr=%x, %v", *ptr, ptr) } func foo() { var local int local = 1 ptr = &local // local is moved to heap. }
Ukuran: 773 B