Advertisement
Guest User

test.go

a guest
Jun 6th, 2014
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.46 KB | None | 0 0
  1. package main
  2.  
  3. import "fmt"
  4. import "runtime"
  5.  
  6. type Mem struct {
  7.  addr *uintptr
  8.  data *uintptr
  9. }
  10.  
  11. func main() {
  12.  runtime.GOMAXPROCS(2)
  13.  
  14.  m := new(Mem)
  15.  
  16.  var i, j, k interface{}
  17.  i = (*uintptr)(nil)
  18.  j = &m.data
  19.  
  20.  go func(){
  21.   for {
  22.      k = i
  23.      k = j
  24.    }
  25.  }()
  26.  
  27.  for {
  28.   ptr, ok := k.(*uintptr)
  29.   if ok && ptr != nil {
  30.     fmt.Println(ptr)
  31.     m.addr = ptr
  32.     *m.addr = 0x4141414141414141;
  33.     fmt.Println("boom: ", *m.data)
  34.   }
  35.  }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement