From: Eugene Syromyatnikov Date: Wed, 7 Feb 2018 01:19:06 +0000 (+0100) Subject: linux/x86_64/get_error.c: do not sign-extend if no error happened X-Git-Tag: v4.21~47 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8e4b24701a944570e2af6dfc247a060be1da1b11;p=strace linux/x86_64/get_error.c: do not sign-extend if no error happened --- 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; } }