From 772c6486ab39ded397f9c830c61865e17df45035 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Mon, 29 Oct 2018 14:02:47 +0100 Subject: [PATCH] runtime: correctly copy a zero-length buffer backwards Fixes: https://github.com/aykevl/tinygo/issues/64 --- src/runtime/runtime.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/runtime/runtime.go b/src/runtime/runtime.go index 209bbf88..d7b8d244 100644 --- a/src/runtime/runtime.go +++ b/src/runtime/runtime.go @@ -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 - } } }