aboutsummaryrefslogtreecommitdiff
path: root/paradox.false
diff options
context:
space:
mode:
authorLizzy Fleckenstein <eliasfleckenstein@web.de>2023-08-21 23:39:44 +0200
committerLizzy Fleckenstein <eliasfleckenstein@web.de>2023-08-21 23:39:44 +0200
commit46dd1b6fb22cd18b49b790049a0a728c3a574148 (patch)
tree126130e44d7236629cf069031d4cfdfed3169827 /paradox.false
parent521a94c10a23fb608bd63800240fbac9429613a2 (diff)
downloadparadox-master.tar.xz
read: always clear buffer when exhaustedHEADmaster
Diffstat (limited to 'paradox.false')
-rw-r--r--paradox.false15
1 files changed, 4 insertions, 11 deletions
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