runtime: correctly copy a zero-length buffer backwards
Fixes: https://github.com/aykevl/tinygo/issues/64
Этот коммит содержится в:
родитель
d90d7be8a8
коммит
772c6486ab
1 изменённых файлов: 1 добавлений и 5 удалений
|
@ -54,13 +54,9 @@ func memmove(dst, src unsafe.Pointer, size uintptr) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Copy backwards.
|
// Copy backwards.
|
||||||
i := size
|
for i := size; i != 0; {
|
||||||
for {
|
|
||||||
i--
|
i--
|
||||||
*(*uint8)(unsafe.Pointer(uintptr(dst) + i)) = *(*uint8)(unsafe.Pointer(uintptr(src) + i))
|
*(*uint8)(unsafe.Pointer(uintptr(dst) + i)) = *(*uint8)(unsafe.Pointer(uintptr(src) + i))
|
||||||
if i == 0 {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче