]> git.proxmox.com Git - mirror_qemu.git/commitdiff
disas/cris.c: Avoid unintentional sign extension
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 31 Mar 2017 14:31:11 +0000 (15:31 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 3 Apr 2017 13:06:59 +0000 (14:06 +0100)
Commit 001ebaca7b11 fixed some unintended sign extension issues
spotted by Coverity (CID 10054021005403), but didn't catch
all of them. Fix the rest, so we behave consistently whether
'long' is 32 bit or 64 bit.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-id: 1490970671-20560-1-git-send-email-peter.maydell@linaro.org

disas/cris.c

index 30217f17f9842b30c6c1120ffa9353689a089678..2dd56deea4a860fe5a824452ac7e2687f5c52ef7 100644 (file)
@@ -2048,7 +2048,7 @@ print_with_operands (const struct cris_opcode *opcodep,
          {
            /* We're looking at [pc+], i.e. we need to output an immediate
               number, where the size can depend on different things.  */
-           long number;
+           int32_t number;
            int signedp
              = ((*cs == 'z' && (insn & 0x20))
                 || opcodep->match == BDAP_QUICK_OPCODE);
@@ -2290,7 +2290,7 @@ print_with_operands (const struct cris_opcode *opcodep,
 
                    if ((prefix_insn & 0x400) && (prefix_insn & 15) == 15)
                      {
-                       long number;
+                       int32_t number;
                        unsigned int nbytes;
 
                        /* It's a value.  Get its size.  */