runtime: correctly copy a zero-length buffer backwards

Fixes:
https://github.com/aykevl/tinygo/issues/64
This commit is contained in:
Ayke van Laethem
2018-10-29 14:02:47 +01:00
parent d90d7be8a8
commit 772c6486ab
+1 -5
View File
@@ -54,13 +54,9 @@ func memmove(dst, src unsafe.Pointer, size uintptr) {
return
}
// Copy backwards.
i := size
for {
for i := size; i != 0; {
i--
*(*uint8)(unsafe.Pointer(uintptr(dst) + i)) = *(*uint8)(unsafe.Pointer(uintptr(src) + i))
if i == 0 {
break
}
}
}