Patchwork sm501: Fix size of color_reg

login
register
mail settings
Submitter Stefan Weil
Date Jan. 4, 2012, 9:50 p.m.
Message ID <1325713809-10461-1-git-send-email-sw@weilnetz.de>
Download mbox | patch
Permalink /patch/134852/
State Accepted
Headers show

Comments

Stefan Weil - Jan. 4, 2012, 9:50 p.m.
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>
---
 hw/sm501.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Aurelien Jarno - Jan. 7, 2012, 8:29 p.m.
On Wed, Jan 04, 2012 at 10:50:09PM +0100, Stefan Weil wrote:
> 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>
> ---
>  hw/sm501.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 

Thanks, applied.

Patch

diff --git a/hw/sm501.c b/hw/sm501.c
index 326531c..09c5894 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) {