From c35b052c93394be43dd49ce83f3d11843ca6931f Mon Sep 17 00:00:00 2001 From: George Amanakis Date: Wed, 10 Jun 2020 02:46:30 -0400 Subject: [PATCH] Fix gcc10.1 truncation error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gcc10.1 complains with: ../../include/sys/dmu.h:373:24: error: ‘%s’ directive output may be truncated writing up to 95 bytes into a region of size 75 [-Werror=format-truncation=] 373 | #define DMU_POOL_DDT "DDT-%s-%s-%s" | ^~~~~~~~~~~~~~ ../../module/zfs/ddt.c:256:37: note: in expansion of macro ‘DMU_POOL_DDT’ 256 | (void) snprintf(name, DDT_NAMELEN, DMU_POOL_DDT, | ^~~~~~~~~~~~ ../../include/sys/dmu.h:373:32: note: format string is defined here 373 | #define DMU_POOL_DDT "DDT-%s-%s-%s" | ^~ ../../module/zfs/ddt.c:256:9: note: ‘snprintf’ output 7 or more bytes (assuming 102) into a destination of size 80 256 | (void) snprintf(name, DDT_NAMELEN, DMU_POOL_DDT, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 257 | zio_checksum_table[ddt->ddt_checksum].ci_name, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 258 | ddt_ops[type]->ddt_op_name, ddt_class_name[class]); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Increasing DTT_NAMELEN fixes it. Signed-off-by: George Amanakis --- include/sys/ddt.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/sys/ddt.h b/include/sys/ddt.h index 0d7c4f927d26..4fba49c75cb2 100644 --- a/include/sys/ddt.h +++ b/include/sys/ddt.h @@ -179,7 +179,7 @@ typedef struct ddt_ops { int (*ddt_op_count)(objset_t *os, uint64_t object, uint64_t *count); } ddt_ops_t; -#define DDT_NAMELEN 80 +#define DDT_NAMELEN 102 extern void ddt_object_name(ddt_t *ddt, enum ddt_type type, enum ddt_class clazz, char *name);