[PATCH v2 03/15] xilinx: zynqmp: Replace strncat with strlcat

Stefan Herbrechtsmeier stefan.herbrechtsmeier-oss at weidmueller.com
Mon Jun 20 18:36:38 CEST 2022


From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>

Replace strncat with strlcat to always produce a valid null-terminated
string.

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>

---

Changes in v2:
- New commit

 board/xilinx/zynqmp/zynqmp.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

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");
 	}
-- 
2.30.2



More information about the U-Boot mailing list