[U-Boot] [PATCH 1/3] fdtdec: protect against another NULL phandlep in fdtdec_add_reserved_memory()

Simon Glass
2019-10-22T00:16:58Z

Hi Heiko,

On Mon, 7 Oct 2019 at 18:22, Heiko Stuebner <heiko@sntech.de> wrote:
>
> The change adding fdtdec_add_reserved_memory() already protected the added
> phandle against the phandlep being NULL - making the phandlep var optional.
>
> But in the early code checking for an already existing carveout this check
> was not done and thus the phandle assignment could run into trouble,
> so add a check there as well, which makes the function still return
> sucessfully if a matching region is found, even though no-one wants to

successfully

> work with the phandle.
>
> Fixes: c9222a08b3f7 ("fdtdec: Implement fdtdec_add_reserved_memory()")
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
> lib/fdtdec.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index 74525c84e7..17455c5506 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -1363,7 +1363,8 @@ int fdtdec_add_reserved_memory(void *blob, const char *basename,
> }
>
> if (addr == carveout->start && (addr + size) == carveout->end) {
> - *phandlep = fdt_get_phandle(blob, node);
> + if (phandlep)
> + *phandlep = fdt_get_phandle(blob, node);

Can you please update the function comment to indicate that this can be NULL?

> return 0;
> }
> }
> --
> 2.23.0
>

Regards,
Simon