xilinx: zynqmp: Replace strncat with strlcat
Replace strncat with strlcat to always produce a valid null-terminated
string.
Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
Link: https://lore.kernel.org/r/20220620163650.18756-3-stefan.herbrechtsmeier-oss@weidmueller.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index e311aa7..9dfa464 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -282,13 +282,13 @@
*/
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 @@
* 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");
}