summaryrefslogtreecommitdiffstats
path: root/misc/cgo/testsanitizers/testdata/asan_global2_fail.go
diff options
context:
space:
mode:
Diffstat (limited to 'misc/cgo/testsanitizers/testdata/asan_global2_fail.go')
-rw-r--r--misc/cgo/testsanitizers/testdata/asan_global2_fail.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/misc/cgo/testsanitizers/testdata/asan_global2_fail.go b/misc/cgo/testsanitizers/testdata/asan_global2_fail.go
new file mode 100644
index 0000000..1932633
--- /dev/null
+++ b/misc/cgo/testsanitizers/testdata/asan_global2_fail.go
@@ -0,0 +1,31 @@
+// Copyright 2022 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
+
+/*
+#include <stdlib.h>
+#include <stdio.h>
+
+struct ss {
+ int *p;
+ int len;
+ int cap;
+};
+
+int test(struct ss *a) {
+ struct ss *t = a + 1;
+ t->len = 100; // BOOM
+ return t->len;
+}
+*/
+import "C"
+import "fmt"
+
+var tt C.struct_ss
+
+func main() {
+ r := C.test(&tt)
+ fmt.Println("r value = ", r)
+}