From: Stefan Herbrechtsmeier Date: Mon, 20 Jun 2022 16:36:38 +0000 (+0200) Subject: xilinx: zynqmp: Replace strncat with strlcat X-Git-Url: http://git.dujemihanovic.xyz/img/static/git-logo.png?a=commitdiff_plain;h=bcf6f71bd701cc258e08e1f8c4e915ddb9803faa;p=u-boot.git xilinx: zynqmp: Replace strncat with strlcat Replace strncat with strlcat to always produce a valid null-terminated string. Signed-off-by: Stefan Herbrechtsmeier Link: https://lore.kernel.org/r/20220620163650.18756-3-stefan.herbrechtsmeier-oss@weidmueller.com Signed-off-by: Michal Simek --- diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index e311aa772c..9dfa4643fb 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -282,13 +282,13 @@ static char *zynqmp_get_silicon_idcode_name(void) */ switch (family) { case 0x00: - strncat(name, "ev", 2); + strlcat(name, "ev", sizeof(name)); break; case 0x10: - strncat(name, "eg", 2); + strlcat(name, "eg", sizeof(name)); break; case 0x11: - strncat(name, "cg", 2); + strlcat(name, "cg", sizeof(name)); break; default: /* Do not append family name*/ @@ -300,16 +300,17 @@ static char *zynqmp_get_silicon_idcode_name(void) * read. So, ignore the bit and just findout if it is CG * or EG/EV variant. */ - strncat(name, (idcode2 & EFUSE_GPU_DIS_MASK) ? "cg" : - "e", 2); + strlcat(name, (idcode2 & EFUSE_GPU_DIS_MASK) ? "cg" : + "e", sizeof(name)); } } else if (zynqmp_devices[i].variants & ZYNQMP_VARIANT_CG) { /* Devices with CG variant might be EG or CG family */ - strncat(name, (idcode2 & EFUSE_GPU_DIS_MASK) ? "cg" : "eg", 2); + strlcat(name, (idcode2 & EFUSE_GPU_DIS_MASK) ? "cg" : "eg", + sizeof(name)); } else if (zynqmp_devices[i].variants & ZYNQMP_VARIANT_EG) { - strncat(name, "eg", 2); + strlcat(name, "eg", sizeof(name)); } else if (zynqmp_devices[i].variants & ZYNQMP_VARIANT_DR) { - strncat(name, "dr", 2); + strlcat(name, "dr", sizeof(name)); } else { debug("Variant not identified\n"); }