[PATCH v2 3/3] xilinx: zynqmp: Remove one static variable

Michal Simek michal.simek at xilinx.com
Fri Sep 11 10:12:45 CEST 2020


There is no reason to have name variable saved in BSS section when it
doesn't need to be really used. That's why remove static from variable
definition and use strdup() to duplicate string with exact size from malloc
area instead.

Signed-off-by: Michal Simek <michal.simek at xilinx.com>
---

(no changes since v1)

 board/xilinx/zynqmp/zynqmp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index 177e03906178..f5a88ac5d040 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -191,7 +191,7 @@ static char *zynqmp_get_silicon_idcode_name(void)
 {
 	u32 i;
 	u32 idcode, idcode2;
-	static char name[ZYNQMP_VERSION_SIZE];
+	char name[ZYNQMP_VERSION_SIZE];
 	u32 ret_payload[PAYLOAD_ARG_CNT];
 
 	xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0, ret_payload);
@@ -219,7 +219,7 @@ static char *zynqmp_get_silicon_idcode_name(void)
 		return "unknown";
 
 	/* Add device prefix to the name */
-	strncat(name, "zu", 2);
+	strncpy(name, "zu", ZYNQMP_VERSION_SIZE);
 	strncat(&name[2], simple_itoa(zynqmp_devices[i].device), 2);
 
 	if (zynqmp_devices[i].variants & ZYNQMP_VARIANT_EV) {
@@ -269,7 +269,7 @@ static char *zynqmp_get_silicon_idcode_name(void)
 		debug("Variant not identified\n");
 	}
 
-	return name;
+	return strdup(name);
 }
 #endif
 
-- 
2.28.0



More information about the U-Boot mailing list