Fix GCC warning regarding strncpy in CPU info

strlen(src) should not be used as the length in strncpy. Use memcpy
since we know the length of the string, and ensure that we
NULL-terminate regardless of length

Signed-off-by: Kent Russell <kent.russell@amd.com>
Change-Id: I21cc6d106510c69464e7ac9d3fc7da3a1e6d1a68
Dieser Commit ist enthalten in:
Kent Russell
2020-08-13 11:01:21 -04:00
Ursprung 18ead8815c
Commit 731a06c704
+4 -7
Datei anzeigen
@@ -888,13 +888,10 @@ 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 ": " */
p_len = strlen(p);
if (p_len < HSA_PUBLIC_NAME_SIZE) {
/* -1 to remove \n from p */
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);
p_len = (strlen(p) > HSA_PUBLIC_NAME_SIZE ?
HSA_PUBLIC_NAME_SIZE : strlen(p));
memcpy(cpuinfo[proc].model_name, p, p_len);
cpuinfo[proc].model_name[p_len - 1] = '\0';
continue;
}