[PATCH 2/4] bsps/shared/ofw: Use memcpy instead of strncpy

Gedare Bloom gedare at rtems.org
Fri Feb 5 18:22:21 UTC 2021


On Fri, Feb 5, 2021 at 10:41 AM G S Niteesh Babu <niteesh.gs at 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210205/2322ddde/attachment.html>


More information about the devel mailing list