neofb: avoid overwriting fb_info fields
PATCH 1/1 neofb: avoid overwriting fb_info fields
From: Andrew Morton <[email protected]>
Fix bug identified by Marcio Buss in
http://bugzilla.kernel.org/show_bug.cgi?id=9565 - neofb can overwrite a field in the fb_info struct.
This fix will result in truncated device identification strings - perhaps fb_innfo.fix.id can be made larger?
Cc Marcio Buss <[email protected]>
Cc "Antonino A. Daplas" <[email protected]>
Cc Christian Trefzer <[email protected]>
Signed-off-by Andrew Morton <[email protected]>
---
drivers/video/neofb.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-)
drivers/video/neofb.c renamed from drivers/video/neofb.c~neofb-avoid-overwriting-fb_info-fields +18 -9
@@ -2066,40 +2066,49 @@ static struct fb_info *__devinit neo_allswitch (info->fix.accel) {case FB_ACCEL_NEOMAGIC_NM2070 : -sprintf (info->fix.id,"MagicGraph 128" ); +snprintf (info->fix.id,sizeof (info->fix.id), +"MagicGraph 128" );break ;case FB_ACCEL_NEOMAGIC_NM2090 : -sprintf (info->fix.id,"MagicGraph 128V" ); +snprintf (info->fix.id,sizeof (info->fix.id), +"MagicGraph 128V" );break ;case FB_ACCEL_NEOMAGIC_NM2093 : -sprintf (info->fix.id,"MagicGraph 128ZV" ); +snprintf (info->fix.id,sizeof (info->fix.id), +"MagicGraph 128ZV" );break ;case FB_ACCEL_NEOMAGIC_NM2097 : -sprintf (info->fix.id,"MagicGraph 128ZV+" ); +snprintf (info->fix.id,sizeof (info->fix.id), +"MagicGraph 128ZV+" );break ;case FB_ACCEL_NEOMAGIC_NM2160 : -sprintf (info->fix.id,"MagicGraph 128XD" ); +snprintf (info->fix.id,sizeof (info->fix.id), +"MagicGraph 128XD" );break ;case FB_ACCEL_NEOMAGIC_NM2200 : -sprintf (info->fix.id,"MagicGraph 256AV" ); +snprintf (info->fix.id,sizeof (info->fix.id), +"MagicGraph 256AV" ); info->flags |=FBINFO_HWACCEL_IMAGEBLIT |FBINFO_HWACCEL_COPYAREA |FBINFO_HWACCEL_FILLRECT ;break ;case FB_ACCEL_NEOMAGIC_NM2230 : -sprintf (info->fix.id,"MagicGraph 256AV+" ); +snprintf (info->fix.id,sizeof (info->fix.id), +"MagicGraph 256AV+" ); info->flags |=FBINFO_HWACCEL_IMAGEBLIT |FBINFO_HWACCEL_COPYAREA |FBINFO_HWACCEL_FILLRECT ;break ;case FB_ACCEL_NEOMAGIC_NM2360 : -sprintf (info->fix.id,"MagicGraph 256ZX" ); +snprintf (info->fix.id,sizeof (info->fix.id), +"MagicGraph 256ZX" ); info->flags |=FBINFO_HWACCEL_IMAGEBLIT |FBINFO_HWACCEL_COPYAREA |FBINFO_HWACCEL_FILLRECT ;break ;case FB_ACCEL_NEOMAGIC_NM2380 : -sprintf (info->fix.id,"MagicGraph 256XL+" ); +snprintf (info->fix.id,sizeof (info->fix.id), +"MagicGraph 256XL+" ); info->flags |=FBINFO_HWACCEL_IMAGEBLIT |FBINFO_HWACCEL_COPYAREA |FBINFO_HWACCEL_FILLRECT ;
_
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/