Skip to content

Commit 523b84d

Browse files
Yongzhen Zhanghdeller
authored andcommitted
fbdev: fix potential buffer overflow in do_register_framebuffer()
The current implementation may lead to buffer overflow when: 1. Unregistration creates NULL gaps in registered_fb[] 2. All array slots become occupied despite num_registered_fb < FB_MAX 3. The registration loop exceeds array bounds Add boundary check to prevent registered_fb[FB_MAX] access. Signed-off-by: Yongzhen Zhang <[email protected]> Signed-off-by: Helge Deller <[email protected]>
1 parent ecdd7df commit 523b84d

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

drivers/video/fbdev/core/fbmem.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,9 @@ static int do_register_framebuffer(struct fb_info *fb_info)
449449
if (!registered_fb[i])
450450
break;
451451

452+
if (i >= FB_MAX)
453+
return -ENXIO;
454+
452455
if (!fb_info->modelist.prev || !fb_info->modelist.next)
453456
INIT_LIST_HEAD(&fb_info->modelist);
454457

0 commit comments

Comments
 (0)