Am 22.07.2012 20:46, schrieb Nick Sabalausky:
On Sun, 22 Jul 2012 18:14:23 +0200
Paulo Pinto<pj...@progtools.org>  wrote:
        y :=&x[0]
        fmt.Println("Base adress ", y)
        size := unsafe.Sizeof(x[0])
        fmt.Println("Size per element ", size)
        for i := 0; i<  len(x); i++ {
                cell := uint64(uintptr(unsafe.Pointer(y))) +
(uint64(i) * uint64(size)) value :=
(*byte)(unsafe.Pointer(uintptr(cell))) fmt.Printf("%d index is %d, at
%p\n", i, *value, value) }
}


Eeew!! That's awful.


Pointer arithmetic as endless source for security exploits is to be used
*only* when no other solution exists.

But yes, the way to do it could be simpler.

Reply via email to