summaryrefslogtreecommitdiffstats
path: root/bsps
diff options
context:
space:
mode:
authorG S Niteesh Babu <niteesh.gs@gmail.com>2021-02-06 23:10:10 +0530
committerChristian Mauderer <oss@c-mauderer.de>2021-02-08 21:08:36 +0100
commit066687c43ad50af0e0cc66fe2f5e018bcc078d88 (patch)
tree741a9a8ec9f58f0093c6af502c1df6aca5bdcc27 /bsps
parentbsps/shared/ofw: Fix coverity reported defects (diff)
downloadrtems-066687c43ad50af0e0cc66fe2f5e018bcc078d88.tar.bz2
bsps/shared/ofw: Use strlcpy instead of strncpy
Changed rtems_ofw_get_prop to use strlcpy instead of strncpy to ensure the buffer is null terminated incase of overflow.
Diffstat (limited to 'bsps')
-rw-r--r--bsps/shared/ofw/ofw.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/bsps/shared/ofw/ofw.c b/bsps/shared/ofw/ofw.c
index fa94bfbf05..886ad0252b 100644
--- a/bsps/shared/ofw/ofw.c
+++ b/bsps/shared/ofw/ofw.c
@@ -198,7 +198,15 @@ ssize_t rtems_ofw_get_prop(
if (prop == NULL && strcmp(propname, "name") == 0) {
prop = fdt_get_name(fdtp, offset, &len);
- strncpy(buf, prop, bufsize);
+
+ /* Node name's are 1-31 chars in length consisting of only
+ * ascii chars and are null terminated */
+ strlcpy(buf, prop, bufsize);
+
+ /* Return the length of the name including the null byte
+ * rather than the amount copied.
+ * This is the behaviour in libBSD ofw_fdt_getprop
+ */
return len + 1;
}