[PATCH] bsps/shared/ofw: Fix coverity reported defects

Niteesh G. S. niteesh.gs at gmail.com
Fri Jan 29 06:33:35 UTC 2021


Hello,

https://lists.rtems.org/pipermail/devel/2021-January/064115.html
I have fixed defects reported in the above thread except
CID 1472595, 1472597 (ARRAY_VS_SINGLETON)
Along with the buffer we also take the size of the buffer this makes
sure that we don't read more than the buffer capacity.
But coverity reports this as an defect how can I fix this?

Thanks,
Niteesh.

On Fri, Jan 29, 2021 at 11:48 AM G S Niteesh Babu <niteesh.gs at gmail.com>
wrote:

> Fixed use after free and null pointer dereference defects
>
> FIXES:
> 1) CID 1472601 (NULL_RETURNS)
> 2) CID 1472600 (USE_AFTER_FREE)
> 3) CID 1472599 (USE_AFTER_FREE)
> 4) CID 1472598 (USE_AFTER_FREE)
> 5) CID 1472596 (USE_AFTER_FREE)
> ---
>  bsps/shared/ofw/ofw.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/bsps/shared/ofw/ofw.c b/bsps/shared/ofw/ofw.c
> index 82924b2600..fa94bfbf05 100644
> --- a/bsps/shared/ofw/ofw.c
> +++ b/bsps/shared/ofw/ofw.c
> @@ -313,7 +313,7 @@ ssize_t rtems_ofw_get_prop_alloc(
>      }
>
>      if (rtems_ofw_get_prop(node, propname, *buf, len) == -1) {
> -      rtems_ofw_free(buf);
> +      rtems_ofw_free(*buf);
>        *buf = NULL;
>        return -1;
>      }
> @@ -344,7 +344,7 @@ ssize_t rtems_ofw_get_prop_alloc_multi(
>      }
>
>      if (rtems_ofw_get_prop(node, propname, *buf, len) == -1) {
> -      rtems_ofw_free(buf);
> +      rtems_ofw_free(*buf);
>        *buf = NULL;
>        return -1;
>      }
> @@ -373,7 +373,7 @@ ssize_t rtems_ofw_get_enc_prop_alloc(
>      }
>
>      if (rtems_ofw_get_enc_prop(node, propname, *buf, len) == -1) {
> -      rtems_ofw_free(buf);
> +      rtems_ofw_free(*buf);
>        *buf = NULL;
>        return -1;
>      }
> @@ -404,7 +404,7 @@ ssize_t rtems_ofw_get_enc_prop_alloc_multi(
>      }
>
>      if (rtems_ofw_get_enc_prop(node, propname, *buf, len) == -1) {
> -      rtems_ofw_free(buf);
> +      rtems_ofw_free(*buf);
>        *buf = NULL;
>        return -1;
>      }
> @@ -614,7 +614,7 @@ int rtems_ofw_get_reg(
>      offset = rtems_fdt_phandle_to_offset(parent);
>      ptr = fdt_getprop(fdtp, offset, "ranges", &len);
>
> -    if (len < 0) {
> +    if (ptr == NULL) {
>        break;
>      }
>
> --
> 2.17.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210129/322f9f02/attachment-0001.html>


More information about the devel mailing list