[U-Boot] [PATCH v2 02/47] dm: core: Check for empty list in uclass_find_device()

Bin Meng bmeng.cn at gmail.com
Sun Aug 2 14:57:05 CEST 2015


On Fri, Jul 31, 2015 at 11:31 PM, Simon Glass <sjg at chromium.org> wrote:
> This function needs to check the list has entries before traversing it.
> Fix this bug.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> Changes in v2:
> - Correct the return code to avoid a test failure
>
>  drivers/core/uclass.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
> index aba9880..ffe6995 100644
> --- a/drivers/core/uclass.c
> +++ b/drivers/core/uclass.c
> @@ -153,6 +153,8 @@ int uclass_find_device(enum uclass_id id, int index, struct udevice **devp)
>         ret = uclass_get(id, &uc);
>         if (ret)
>                 return ret;
> +       if (list_empty(&uc->dev_head))
> +               return -ENODEV;
>
>         list_for_each_entry(dev, &uc->dev_head, uclass_node) {
>                 if (!index--) {
> --

Reviewed-by: Bin Meng <bmeng.cn at gmail.com>


More information about the U-Boot mailing list