From aa185380f96e2f6aa1071de9370c022cdeaef6fa Mon Sep 17 00:00:00 2001 From: Ranieri Althoff <1993083+ranisalt@users.noreply.github.com> Date: Fri, 8 May 2020 16:53:44 +0000 Subject: [PATCH] Avoid calculating strlen multiple times Change-Id: Iec66c7d35e5d6cd2deb02c94ee070d0fa1335147 Signed-off-by: Ranieri Althoff Signed-off-by: Felix Kuehling Reviewed-by: Felix Kuehling --- src/topology.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/topology.c b/src/topology.c index 2817b035ff..23d2e1bcaa 100644 --- a/src/topology.c +++ b/src/topology.c @@ -831,6 +831,7 @@ static HSAKMT_STATUS topology_parse_cpuinfo(struct proc_cpuinfo *cpuinfo, char read_buf[256]; char *p; uint32_t proc = 0; + size_t p_len; const char *proc_cpuinfo_path = "/proc/cpuinfo"; if (!cpuinfo) { @@ -879,10 +880,11 @@ static HSAKMT_STATUS topology_parse_cpuinfo(struct proc_cpuinfo *cpuinfo, if (!strncmp("model name", read_buf, sizeof("model name") - 1)) { p = strchr(read_buf, ':'); p += 2; /* remove ": " */ - if (strlen(p) < HSA_PUBLIC_NAME_SIZE) { + p_len = strlen(p); + if (p_len < HSA_PUBLIC_NAME_SIZE) { /* -1 to remove \n from p */ - strncpy(cpuinfo[proc].model_name, p, strlen(p) - 1); - cpuinfo[proc].model_name[strlen(p) - 1] = '\0'; + strncpy(cpuinfo[proc].model_name, p, p_len - 1); + cpuinfo[proc].model_name[p_len - 1] = '\0'; } else strncpy(cpuinfo[proc].model_name, p, HSA_PUBLIC_NAME_SIZE); continue;