From 46dd1b6fb22cd18b49b790049a0a728c3a574148 Mon Sep 17 00:00:00 2001 From: Lizzy Fleckenstein Date: Mon, 21 Aug 2023 23:39:44 +0200 Subject: read: always clear buffer when exhausted --- bootstrap.lua | 15 ++++----------- paradox.false | 15 ++++----------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/bootstrap.lua b/bootstrap.lua index ac6cbc4..79fb4f2 100755 --- a/bootstrap.lua +++ b/bootstrap.lua @@ -296,22 +296,15 @@ writebuf: resb BUFSIZ section .text read: mov rax, [readbuf_cursor] -mov rbx, [readbuf_len] -cmp rax, rbx +cmp rax, [readbuf_len] jb .has -cmp rbx, BUFSIZ -jb .fill -xor rbx, rbx -mov [readbuf_len], rbx -mov [readbuf_cursor], rbx -.fill: mov rax, 0 mov rdi, 0 -lea rsi, [rbx+readbuf] +mov rsi, readbuf mov rdx, BUFSIZ -sub rdx, rbx syscall -add [readbuf_len], rax +mov [readbuf_len], rax +mov qword[readbuf_cursor], 0 cmp rax, 0 jne .has mov eax, -1 diff --git a/paradox.false b/paradox.false index 8c705d1..364d98e 100644 --- a/paradox.false +++ b/paradox.false @@ -504,22 +504,15 @@ writebuf: resb BUFSIZ section .text read: mov rax, [readbuf_cursor] -mov rbx, [readbuf_len] -cmp rax, rbx +cmp rax, [readbuf_len] jb .has -cmp rbx, BUFSIZ -jb .fill -xor rbx, rbx -mov [readbuf_len], rbx -mov [readbuf_cursor], rbx -.fill: mov rax, 0 mov rdi, 0 -lea rsi, [rbx+readbuf] +mov rsi, readbuf mov rdx, BUFSIZ -sub rdx, rbx syscall -add [readbuf_len], rax +mov [readbuf_len], rax +mov qword[readbuf_cursor], 0 cmp rax, 0 jne .has mov eax, -1 -- cgit v1.2.3