On Fri, Feb 5, 2021 at 10:41 AM G S Niteesh Babu <niteesh...@gmail.com> wrote:
> Changed rtems_ofw_get_prop to use memcpy instead of strncpy > --- > bsps/shared/ofw/ofw.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/bsps/shared/ofw/ofw.c b/bsps/shared/ofw/ofw.c > index fa94bfbf05..9dec310247 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); > + > + bufsize = MIN(len, bufsize - 1); > ok, reserving 1 byte for the \0. It could be worth adding a comment here to that effect > + memcpy(buf, prop, bufsize); > + > + /* Null terminate the buffer */ > + *((char *)buf + bufsize) = 0; > that gets written here. looks fine to me. > + > + /* Return the length of the name including the null byte */ > + /* This is the behaviour in libBSD ofw_fdt_getprop */ > return len + 1; > shouldn't it be bufsize+1? if it got truncated by the MIN? > } > > -- > 2.17.1 > >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel