]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
xilinx: zynqmp: Replace strncat with strlcat
authorStefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>
Mon, 20 Jun 2022 16:36:38 +0000 (18:36 +0200)
committerMichal Simek <michal.simek@amd.com>
Fri, 24 Jun 2022 12:37:27 +0000 (14:37 +0200)
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>
board/xilinx/zynqmp/zynqmp.c

index e311aa772ccedace7edb5146bb760814999e2f0c..9dfa4643fb6b9e61d0f1becf6d57c17703621f2c 100644 (file)
@@ -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");
        }