diff options
author | Sudeep Holla <sudeep.holla@arm.com> | 2018-09-07 19:03:25 +0300 |
---|---|---|
committer | Sudeep Holla <sudeep.holla@arm.com> | 2018-09-10 12:08:44 +0300 |
commit | ca64b719a1e665ac7449b6a968059176af7365a8 (patch) | |
tree | e23723188ee72525bb6e5ccbbc9f465e167c3a1b /drivers/firmware/arm_scmi/sensors.c | |
parent | 11da3a7f84f19c26da6f86af878298694ede0804 (diff) | |
download | linux-ca64b719a1e665ac7449b6a968059176af7365a8.tar.xz |
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/sensors.c')
-rw-r--r-- | drivers/firmware/arm_scmi/sensors.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/firmware/arm_scmi/sensors.c b/drivers/firmware/arm_scmi/sensors.c index 27f2092b9882..b53d5cc9c9f6 100644 --- a/drivers/firmware/arm_scmi/sensors.c +++ b/drivers/firmware/arm_scmi/sensors.c @@ -140,7 +140,7 @@ static int scmi_sensor_description_get(const struct scmi_handle *handle, s = &si->sensors[desc_index + cnt]; s->id = le32_to_cpu(buf->desc[cnt].id); s->type = SENSOR_TYPE(attrh); - memcpy(s->name, buf->desc[cnt].name, SCMI_MAX_STR_SIZE); + strlcpy(s->name, buf->desc[cnt].name, SCMI_MAX_STR_SIZE); } desc_index += num_returned; |