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
Этот коммит содержится в:
Kent Russell
2020-08-13 11:01:21 -04:00
родитель 6085baa2dc
Коммит 04f6b9e16b
+4 -7
Просмотреть файл
@@ -879,13 +879,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;
}