Skip to contentSkip to conversation

fbdev: fix snprintf() limit in show_bl_curve()

PATCH Tomi Valkeinen 1 participant 1 message Sep 1, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw
Quoted 14 lines · Dan Carpenter

The limit should be "PAGE_SIZE - len" instead of PAGE_SIZE. Also let's use scnprintf() because snprintf() returns the number of bytes which would have been printed if there were space and scnprintf() returns the number of bytes actually printed.

I don't think we are ever going to actually hit this limit in real life.

drivers/video/fbdev/core/fbsysfs.c +0 -0
index 60c3f0a..15755ce 100644

drivers/video/fbdev/core/fbsysfs.c static ssize_t show_bl_curve(struct device *device, · line 490

Quoted 7 lines
drivers/video/fbdev/core/fbsysfs.c +1 -1
@@ -485,7 +485,7 @@ static ssize_t show_bl_curve(struct device *device,
 
 	mutex_lock(&fb_info->bl_curve_mutex);
 	for (i = 0; i < FB_BACKLIGHT_LEVELS; i += 8)
-		len += snprintf(&buf[len], PAGE_SIZE, "%8ph\n",
+		len += scnprintf(&buf[len], PAGE_SIZE - len, "%8ph\n",
 				fb_info->bl_curve + i);
 	mutex_unlock(&fb_info->bl_curve_mutex);

Thanks, queued for 4.3.

Tomi