f2fs: avoid format-overflow warning
authorSu Hui <suhui@nfschina.com>
Sun, 8 Oct 2023 06:39:30 +0000 (14:39 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 9 Oct 2023 17:58:43 +0000 (10:58 -0700)
With gcc and W=1 option, there's a warning like this:

fs/f2fs/compress.c: In function ‘f2fs_init_page_array_cache’:
fs/f2fs/compress.c:1984:47: error: ‘%u’ directive writing between
1 and 7 bytes into a region of size between 5 and 8
[-Werror=format-overflow=]
 1984 |  sprintf(slab_name, "f2fs_page_array_entry-%u:%u", MAJOR(dev),
MINOR(dev));
      |                                               ^~

String "f2fs_page_array_entry-%u:%u" can up to 35. The first "%u" can up
to 4 and the second "%u" can up to 7, so total size is "24 + 4 + 7 = 35".
slab_name's size should be 35 rather than 32.

Cc: stable@vger.kernel.org
Signed-off-by: Su Hui <suhui@nfschina.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/compress.c

index 0c41647a238168556d734c7aade33b1d08180a8b..36e5dab6baaee99141ab0a42741e7fdf9879fe08 100644 (file)
@@ -1983,7 +1983,7 @@ void f2fs_destroy_compress_inode(struct f2fs_sb_info *sbi)
 int f2fs_init_page_array_cache(struct f2fs_sb_info *sbi)
 {
        dev_t dev = sbi->sb->s_bdev->bd_dev;
-       char slab_name[32];
+       char slab_name[35];
 
        if (!f2fs_sb_has_compression(sbi))
                return 0;