Skip to content

Commit

Permalink
[VIDEO] sunxvr2500fb: Fix pseudo_palette array size
Browse files Browse the repository at this point in the history
- 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 <adaplas@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Antonino Daplas authored and David S. Miller committed Jun 5, 2007
1 parent d2fa9e0 commit f2c1386
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions drivers/video/sunxvr2500.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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;
}
Expand Down

0 comments on commit f2c1386

Please sign in to comment.