xemu/disas
Peter Maydell 2e3883d03d disas/m68k: Avoid unintended sign extension in get_field()
In get_field(), we take an 'unsigned char' value and shift it left,
which implicitly promotes it to 'signed int', before ORing it into an
'unsigned long' type.  If 'unsigned long' is 64 bits then this will
result in a sign extension and the top 32 bits of the result will be
1s.  Add explicit casts to unsigned long before shifting to prevent
this.

(Spotted by Coverity, CID 715697.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-id: 1488556233-31246-4-git-send-email-peter.maydell@linaro.org
2017-03-07 14:33:51 +00:00
..
libvixl libvixl: Avoid std::abs() of 64-bit type 2016-02-03 13:46:34 +00:00
alpha.c disas: Remove unused macro '_' 2016-07-18 18:13:54 +01:00
arm-a64.cc disas/arm-a64.cc: Include osdep.h first 2016-02-23 12:43:04 +00:00
arm.c disas/arm.c: Remove unused macro definitions 2016-09-22 18:13:09 +01:00
cris.c disas/cris.c: Fix Coverity warning about unchecked NULL 2017-01-24 23:26:53 +03:00
hppa.c disas/hppa: Remove dead code 2017-03-07 14:33:51 +00:00
i386.c disas/i386: Avoid NULL pointer dereference in error case 2017-03-07 14:33:51 +00:00
ia64.c disas: Clean up includes 2016-02-04 17:41:30 +00:00
lm32.c lm32: Clean up includes 2016-01-29 15:07:22 +00:00
m68k.c disas/m68k: Avoid unintended sign extension in get_field() 2017-03-07 14:33:51 +00:00
Makefile.objs nios2: Add disas entries 2017-01-24 13:10:35 -08:00
microblaze.c disas/microblaze.c: Don't define TRUE or FALSE 2016-01-28 11:13:13 +00:00
mips.c disas: Remove unused macro '_' 2016-07-18 18:13:54 +01:00
moxie.c moxie: Clean up includes 2016-01-29 15:07:25 +00:00
nios2.c nios2: Add disas entries 2017-01-24 13:10:35 -08:00
ppc.c disas/ppc: Fix indefinite articles in comments 2017-01-31 10:10:12 +11:00
s390.c disas: Clean up includes 2016-02-04 17:41:30 +00:00
sh4.c Remove unused function declarations 2016-09-15 15:32:22 +03:00
sparc.c disas: Remove unused macro '_' 2016-07-18 18:13:54 +01:00
tci.c tci: do not include exec/exec-all.h 2016-05-20 15:07:46 +01:00