fbdev: lxfb: Fix potential divide by zero
authorWei Chen <harperchen1110@gmail.com>
Wed, 15 Mar 2023 09:05:18 +0000 (09:05 +0000)
committerHelge Deller <deller@gmx.de>
Thu, 16 Mar 2023 15:18:17 +0000 (16:18 +0100)
var->pixclock can be assigned to zero by user. Without proper
check, divide by zero would occur in lx_set_clock.

Error out if var->pixclock is zero.

Signed-off-by: Wei Chen <harperchen1110@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/geode/lxfb_core.c

index 8130e9eee2b4b4151a202358d0ce9d69964530de..556d8b1a9e06aefd6ec34796d9a60963c733f956 100644 (file)
@@ -235,6 +235,9 @@ static void get_modedb(struct fb_videomode **modedb, unsigned int *size)
 
 static int lxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
 {
+       if (!var->pixclock)
+               return -EINVAL;
+
        if (var->xres > 1920 || var->yres > 1440)
                return -EINVAL;