external/f2fs-tools/fsck/mount.c:584:4: error: 'snprintf' will always overflow; 
destination buffer has size 30, but size argument is 31 
[-Werror,-Wbuiltin-memcpy-chk-size]
  584 |                         snprintf(str, 31, "%s[%d]", i == NAT_BITMAP ?


On 04/14, Chao Yu wrote:
> dump.f2fs -d 1 img
> 
> ...
> checksum                                      [0x829fb462 : 2191504482]
> nat_version_bitmap[0]                         [0x       0 : 0]
> nat_version_bitmap[1]                         [0x       0 : 0]
> nat_version_bitmap[2]                         [0x       0 : 0]
> ...
> nat_version_bitmap[463]                       [0x       0 : 0]
> sit_version_bitmap[0]                         [0x       0 : 0]
> sit_version_bitmap[1]                         [0x       0 : 0]
> sit_version_bitmap[2]                         [0x       0 : 0]
> sit_version_bitmap[3]                         [0x       0 : 0]
> ...
> sit_version_bitmap[47]                        [0x       0 : 0]
> 
> Signed-off-by: Chao Yu <c...@kernel.org>
> ---
>  fsck/mount.c | 31 ++++++++++++++++++++++++++++++-
>  1 file changed, 30 insertions(+), 1 deletion(-)
> 
> diff --git a/fsck/mount.c b/fsck/mount.c
> index e7c4069..6648c69 100644
> --- a/fsck/mount.c
> +++ b/fsck/mount.c
> @@ -563,6 +563,33 @@ printout:
>       printf("\n");
>  }
>  
> +void print_chksum(struct f2fs_checkpoint *cp)
> +{
> +     unsigned int crc = le32_to_cpu(*(__le32 *)((unsigned char *)cp +
> +                                             get_cp(checksum_offset)));
> +
> +     printf("%-30s" "\t\t[0x%8x : %u]\n", "checksum", crc, crc);
> +}
> +
> +void print_version_bitmap(struct f2fs_sb_info *sbi)
> +{
> +     char str[30];
> +     int i, j;
> +
> +     for (i = NAT_BITMAP; i <= SIT_BITMAP; i++) {
> +             unsigned int *bitmap = __bitmap_ptr(sbi, i);
> +             unsigned int size = round_up(__bitmap_size(sbi, i), 4);
> +
> +             for (j = 0; j < size; j++) {
> +                     snprintf(str, 31, "%s[%d]", i == NAT_BITMAP ?
> +                                             "nat_version_bitmap" :
> +                                             "sit_version_bitmap", j);
> +                     printf("%-30s" "\t\t[0x%8x : %u]\n", str,
> +                                             bitmap[i], bitmap[i]);
> +             }
> +     }
> +}
> +
>  void print_ckpt_info(struct f2fs_sb_info *sbi)
>  {
>       struct f2fs_checkpoint *cp = F2FS_CKPT(sbi);
> @@ -618,7 +645,9 @@ printout:
>       DISP_u32(cp, checksum_offset);
>       DISP_u64(cp, elapsed_time);
>  
> -     DISP_u32(cp, sit_nat_version_bitmap[0]);
> +     print_chksum(cp);
> +     print_version_bitmap(sbi);
> +
>       printf("\n\n");
>  }
>  
> -- 
> 2.49.0


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to