summaryrefslogtreecommitdiff
path: root/drivers/block/genhd.c
diff options
context:
space:
mode:
authorNeil Horman <nhorman@redhat.com>2005-09-06 15:17:30 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-07 16:57:30 -0700
commitf62c6d0a2607b2d1fdf280d4d1467a7a6e24c67d (patch)
treeb95a3ebe7a0e2703c38636530313bcc1dfd96564 /drivers/block/genhd.c
parentf23ef184b486ac021b6a471b4e94cfa04860d3b0 (diff)
downloadlwn-f62c6d0a2607b2d1fdf280d4d1467a7a6e24c67d.tar.gz
lwn-f62c6d0a2607b2d1fdf280d4d1467a7a6e24c67d.zip
[PATCH] Add missing overflow check in get_blkdev_list
Patch to clean up missing overflow check in get_blkdev_list. The printf which adds the "Block Devices" string in /proc/devices can overflow the presented page if get_chrdev_list eats up the entire 4k space. Signed-off-by: Neil Horman <nhorman@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/block/genhd.c')
-rw-r--r--drivers/block/genhd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/genhd.c b/drivers/block/genhd.c
index 47fd3659a061..d42840cc0d1d 100644
--- a/drivers/block/genhd.c
+++ b/drivers/block/genhd.c
@@ -45,7 +45,7 @@ int get_blkdev_list(char *p, int used)
struct blk_major_name *n;
int i, len;
- len = sprintf(p, "\nBlock devices:\n");
+ len = snprintf(p, (PAGE_SIZE-used), "\nBlock devices:\n");
down(&block_subsys_sem);
for (i = 0; i < ARRAY_SIZE(major_names); i++) {