runtime: correctly copy a zero-length buffer backwards

Fixes:
https://github.com/aykevl/tinygo/issues/64
Этот коммит содержится в:
Ayke van Laethem 2018-10-29 14:02:47 +01:00
родитель d90d7be8a8
коммит 772c6486ab
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: E97FF5335DFDFDED

Просмотреть файл

@ -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
}
}
}