From 74473ed0cf171acaf370b6ab2123b763107d5121 Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Tue, 11 Dec 2018 16:41:43 +0200 Subject: tools: mtk_image: replace strncpy(d, s, sizeof(d)) with snprintf() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Starting from version 8 the GCC, i.e. C compiler, starts complaining about possible '\0' terminator loss or, as in this case, garbage copy. In function ‘mtk_image_set_gen_header’, inlined from ‘mtk_image_set_header’ at tools/mtk_image.c:733:3: tools/mtk_image.c:659:2: warning: ‘strncpy’ specified bound 12 equals destination size [-Wstringop-truncation] strncpy(hdr->boot.name, bootname, sizeof(hdr->boot.name)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In function ‘mtk_brom_parse_imagename’, inlined from ‘mtk_image_check_params’ at tools/mtk_image.c:388:9: tools/mtk_image.c:325:5: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation] strncpy(lk_name, val, sizeof(lk_name)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Replace it with snprintf() to tell compiler how much room we have in the destination buffer for source string. Fixes: 3b975a147c3c ("tools: MediaTek: add MTK boot header generation to mkimage") Cc: Ryder Lee Cc: Weijie Gao Signed-off-by: Andy Shevchenko Reviewed-by: Weijie Gao --- tools/mtk_image.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/mtk_image.c b/tools/mtk_image.c index 2706d2de32..2ca519483d 100644 --- a/tools/mtk_image.c +++ b/tools/mtk_image.c @@ -322,7 +322,7 @@ static int mtk_brom_parse_imagename(const char *imagename) lk = val; if (!strcmp(key, "lkname")) - strncpy(lk_name, val, sizeof(lk_name)); + snprintf(lk_name, sizeof(lk_name), "%s", val); } if (next) @@ -656,7 +656,7 @@ static void mtk_image_set_gen_header(void *ptr, off_t filesize, bootname = SDMMC_BOOT_NAME; /* Generic device header */ - strncpy(hdr->boot.name, bootname, sizeof(hdr->boot.name)); + snprintf(hdr->boot.name, sizeof(hdr->boot.name), "%s", bootname); hdr->boot.version = cpu_to_le32(1); hdr->boot.size = cpu_to_le32(sizeof(hdr->boot)); -- cgit