diff options
author | Wei Chen <harperchen1110@gmail.com> | 2023-03-15 12:05:18 +0300 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2023-03-16 18:18:17 +0300 |
commit | 61ac4b86a4c047c20d5cb423ddd87496f14d9868 (patch) | |
tree | 0d49c289c904a8856bee4b67cdeba093d58fd544 /drivers/video | |
parent | d823685486a3446d061fed7c7d2f80af984f119a (diff) | |
download | linux-61ac4b86a4c047c20d5cb423ddd87496f14d9868.tar.xz |
fbdev: lxfb: Fix potential divide by zero
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>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/fbdev/geode/lxfb_core.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/fbdev/geode/lxfb_core.c b/drivers/video/fbdev/geode/lxfb_core.c index 8130e9eee2b4..556d8b1a9e06 100644 --- a/drivers/video/fbdev/geode/lxfb_core.c +++ b/drivers/video/fbdev/geode/lxfb_core.c @@ -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; |