nintendoswitch: Fix invalid memory read / write in print calls

This commit is contained in:
Lucas Teske
2020-09-09 13:51:00 -03:00
committed by GitHub
parent f20c932bb9
commit 0b9b293651
2 changed files with 8 additions and 17 deletions
+7 -10
View File
@@ -40,21 +40,18 @@ func ticks() timeUnit {
return timeUnit(ticksToNanoseconds(timeUnit(getArmSystemTick())))
}
var stdoutBuffer = make([]byte, 0, 120)
var stdoutBuffer = make([]byte, 120)
var position = 0
func putchar(c byte) {
if c == '\n' || len(stdoutBuffer)+1 >= 120 {
NxOutputString(string(stdoutBuffer))
stdoutBuffer = stdoutBuffer[:0]
if c == '\n' || position > len(stdoutBuffer) {
nxOutputString(&stdoutBuffer[0], uint64(position))
position = 0
return
}
stdoutBuffer = append(stdoutBuffer, c)
}
func usleep(usec uint) int {
sleepThread(uint64(usec) * 1000)
return 0
stdoutBuffer[position] = c
position++
}
func abort() {