summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorStefan Weil <sw@weilnetz.de>2012-01-04 22:50:09 +0100
committerAurelien Jarno <aurelien@aurel32.net>2012-01-07 21:29:26 +0100
commitc27808657bd633fade6fe3e5f193504aab713b07 (patch)
tree10f46e59f57ddc1040a8df76b870e5c0ecd9ef09
parentf840fa995f88bc2bea7311f003e8de5ceb8ab276 (diff)
downloadfocaccia-qemu-c27808657bd633fade6fe3e5f193504aab713b07.tar.gz
focaccia-qemu-c27808657bd633fade6fe3e5f193504aab713b07.zip
sm501: Fix size of color_reg
color_reg is expected to hold 32 bit values, so it was too small.

This bug was reported by coverity:

hw/sm501.c:624:
result_independent_of_operands:
color_reg >> 16 is 0 regardless of the values of its operands.
This occurs as the bitwise first operand of '&'.

Cc: Shin-ichiro Kawasaki <kawasaki@juno.dti.ne.jp>
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-rw-r--r--hw/sm501.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/sm501.c b/hw/sm501.c
index 326531c57e..09c5894cf9 100644
--- a/hw/sm501.c
+++ b/hw/sm501.c
@@ -593,7 +593,7 @@ static inline uint32_t get_hwc_x(SM501State *state, int crt)
  */
 static inline uint16_t get_hwc_color(SM501State *state, int crt, int index)
 {
-    uint16_t color_reg = 0;
+    uint32_t color_reg = 0;
     uint16_t color_565 = 0;
 
     if (index == 0) {