aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firmware/arm_scmi/perf.c
diff options
context:
space:
mode:
authorSudeep Holla <sudeep.holla@arm.com>2018-09-07 17:03:25 +0100
committerSudeep Holla <sudeep.holla@arm.com>2018-09-10 10:08:44 +0100
commitca64b719a1e665ac7449b6a968059176af7365a8 (patch)
treee23723188ee72525bb6e5ccbbc9f465e167c3a1b /drivers/firmware/arm_scmi/perf.c
parentLinux 4.19-rc3 (diff)
downloadlinux-dev-ca64b719a1e665ac7449b6a968059176af7365a8.tar.xz
linux-dev-ca64b719a1e665ac7449b6a968059176af7365a8.zip
firmware: arm_scmi: use strlcpy to ensure NULL-terminated strings
Replace all the memcpy() for copying name strings from the firmware with strlcpy() to make sure we are bounded by the source buffer size and we also always have NULL-terminated strings. This is needed to avoid out of bounds accesses if the firmware returns a non-terminated string. Reported-by: Olof Johansson <olof@lixom.net> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Diffstat (limited to 'drivers/firmware/arm_scmi/perf.c')
-rw-r--r--drivers/firmware/arm_scmi/perf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/firmware/arm_scmi/perf.c b/drivers/firmware/arm_scmi/perf.c
index 64342944d917..87c99d296ecd 100644
--- a/drivers/firmware/arm_scmi/perf.c
+++ b/drivers/firmware/arm_scmi/perf.c
@@ -174,7 +174,7 @@ scmi_perf_domain_attributes_get(const struct scmi_handle *handle, u32 domain,
dom_info->mult_factor =
(dom_info->sustained_freq_khz * 1000) /
dom_info->sustained_perf_level;
- memcpy(dom_info->name, attr->name, SCMI_MAX_STR_SIZE);
+ strlcpy(dom_info->name, attr->name, SCMI_MAX_STR_SIZE);
}
scmi_xfer_put(handle, t);