From 8e4b24701a944570e2af6dfc247a060be1da1b11 Mon Sep 17 00:00:00 2001 From: Eugene Syromyatnikov Date: Wed, 7 Feb 2018 02:19:06 +0100 Subject: [PATCH] linux/x86_64/get_error.c: do not sign-extend if no error happened --- linux/x86_64/get_error.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/linux/x86_64/get_error.c b/linux/x86_64/get_error.c index 440fdc74..ac47ab58 100644 --- a/linux/x86_64/get_error.c +++ b/linux/x86_64/get_error.c @@ -20,6 +20,9 @@ get_error(struct tcb *tcp, const bool check_errno) tcp->u_rval = -1; tcp->u_error = -rax; } else { - tcp->u_rval = rax; + if (x86_io.iov_len == sizeof(i386_regs)) + tcp->u_rval = (uint32_t) rax; + else + tcp->u_rval = rax; } } -- 2.40.0