[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.9 5/6] disas/cris: Avoid unintended sign e
From: |
Edgar E. Iglesias |
Subject: |
Re: [Qemu-devel] [PATCH for-2.9 5/6] disas/cris: Avoid unintended sign extension |
Date: |
Fri, 3 Mar 2017 16:58:59 +0100 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Fri, Mar 03, 2017 at 03:50:32PM +0000, Peter Maydell wrote:
> In the cris disassembler we were using 'unsigned long' to calculate
> addresses which are supposed to be 32 bits. This meant that we might
> accidentally sign extend or calculate a value that was outside the 32
> bit range of the guest CPU. Use 'uint32_t' instead so we give the
> right answers on 64-bit hosts.
>
> (Spotted by Coverity, CID 1005402, 1005403.)
Reviewed-by: Edgar E. Iglesias <address@hidden>
>
> Signed-off-by: Peter Maydell <address@hidden>
> ---
> disas/cris.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/disas/cris.c b/disas/cris.c
> index 8a1daf9..30217f1 100644
> --- a/disas/cris.c
> +++ b/disas/cris.c
> @@ -2009,7 +2009,7 @@ print_with_operands (const struct cris_opcode *opcodep,
> case 'n':
> {
> /* Like N but pc-relative to the start of the insn. */
> - unsigned long number
> + uint32_t number
> = (buffer[2] + buffer[3] * 256 + buffer[4] * 65536
> + buffer[5] * 0x1000000 + addr);
>
> @@ -2201,7 +2201,7 @@ print_with_operands (const struct cris_opcode *opcodep,
> {
> /* It's [pc+]. This cannot possibly be anything
> but an address. */
> - unsigned long number
> + uint32_t number
> = prefix_buffer[2] + prefix_buffer[3] * 256
> + prefix_buffer[4] * 65536
> + prefix_buffer[5] * 0x1000000;
> --
> 2.7.4
>
- Re: [Qemu-devel] [PATCH for-2.9 3/6] disas/m68k: Avoid unintended sign extension in get_field(), (continued)
- [Qemu-devel] [PATCH for-2.9 2/6] disas/i386: Avoid NULL pointer dereference in error case, Peter Maydell, 2017/03/03
- [Qemu-devel] [PATCH for-2.9 1/6] disas/hppa: Remove dead code, Peter Maydell, 2017/03/03
- [Qemu-devel] [PATCH for-2.9 5/6] disas/cris: Avoid unintended sign extension, Peter Maydell, 2017/03/03
- Re: [Qemu-devel] [PATCH for-2.9 5/6] disas/cris: Avoid unintended sign extension,
Edgar E. Iglesias <=
- Re: [Qemu-devel] [PATCH for-2.9 0/6] disas: Fix various coverity nits, no-reply, 2017/03/03
- Re: [Qemu-devel] [PATCH for-2.9 0/6] disas: Fix various coverity nits, no-reply, 2017/03/03
- Re: [Qemu-devel] [PATCH for-2.9 0/6] disas: Fix various coverity nits, Peter Maydell, 2017/03/07