sunxvr2500fb: Fix pseudo_palette array size
PATCH 14/24 sunxvr2500fb: Fix pseudo_palette array size
- the pseudo_palette is only 16 elements long.
- the pseudo_palette has only 16 elements. Do not write if regno (the array index) is more than 15.
Signed-off-by Antonino Daplas <[email protected]>
---
drivers/video/sunxvr2500.c | 17 ++++++++--------- 1 files changed, 8 insertions(+), 9 deletions(-)
drivers/video/sunxvr2500.c +8 -9
@@ -28,7 +28,7 @@ struct s3d_info {unsigned int depth;unsigned int fb_size; -u32 pseudo_palette[256 ]; +u32 pseudo_palette[16 ]; };static int __devinit s3d_get_props (struct s3d_info *sp)
@@ -52,15 +52,14 @@ static int s3d_setcolreg(unsigned regno, {u32 value; -if (regno >=256 ) -return 1 ; +if (regno <16 ) { + red >>=8 ; + green >>=8 ; + blue >>=8 ; - red >>=8 ; - green >>=8 ; - blue >>=8 ; - - value = (blue <<24 ) | (green <<16 ) | (red <<8 ); - ((u32 *)info->pseudo_palette)[regno] = value; + value = (blue <<24 ) | (green <<16 ) | (red <<8 ); + ((u32 *)info->pseudo_palette)[regno] = value; + }return 0 ; }
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/