From 29062e6c441f1bf34a9105b775cbde8955646388 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C5=99emysl=20Janouch?=
Date: Sun, 25 Dec 2016 00:56:01 +0100
Subject: [PATCH] Fix error handling
Offset overflowed.
---
bfc-amd64.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/bfc-amd64.c b/bfc-amd64.c
index 9681ca1..9cb5b98 100644
--- a/bfc-amd64.c
+++ b/bfc-amd64.c
@@ -619,9 +619,9 @@ main (int argc, char *argv[])
CODE ("\x66\x5B") // pop bx
CODE ("\x48\x83\xF8\x00") // cmp rax, 0
- CODE ("\x48\x8D\x35") DD (4) // lea rsi, [rel read_message]
- CODE ("\x7C") // jl "fatal_offset" -- write failure message
- DB ((intptr_t) fatal_offset - (intptr_t) (buffer.len + 1))
+ CODE ("\x48\x8D\x35") DD (8) // lea rsi, [rel read_message]
+ CODE ("\x0F\x8C") // jl "fatal_offset" -- write failure message
+ DD ((intptr_t) fatal_offset - (intptr_t) (buffer.len + 4))
CODE ("\x58") // pop rax -- restore tape position
CODE ("\xC3") // ret
CODE ("fatal: read failed\n\0")
@@ -637,9 +637,9 @@ main (int argc, char *argv[])
CODE ("\x66\x5B") // pop bx
CODE ("\x48\x83\xF8\x00") // cmp rax, 0
- CODE ("\x48\x8D\x35") DD (4) // lea rsi, [rel write_message]
- CODE ("\x7C") // jl "fatal_offset" -- write failure message
- DB ((intptr_t) fatal_offset - (intptr_t) (buffer.len + 1))
+ CODE ("\x48\x8D\x35") DD (8) // lea rsi, [rel write_message]
+ CODE ("\x0F\x8C") // jl "fatal_offset" -- write failure message
+ DD ((intptr_t) fatal_offset - (intptr_t) (buffer.len + 4))
CODE ("\x58") // pop rax -- restore tape position
CODE ("\xC3") // ret
CODE ("fatal: write failed\n\0")