[U-Boot] [PATCH] env_ubi.c: Correct pointer error in env load

Heiko Schocher hs at denx.de
Mon Oct 26 06:06:32 CET 2015


Hello Kevin,

Am 23.10.2015 um 19:51 schrieb Kevin Smith:
> The variable "buf" in this function is a char array, and the
> function ubi_volume_read is expecting a char *.  In the call, the
> address of the pointer is being taken, incorrectly passing a
> char **.  The compiler warning was being silenced by the cast.
> Remove the address operator and the cast.
>
> Signed-off-by: Kevin Smith <kevin.smith at elecsyscorp.com>
> Cc: Joe Hershberger <joe.hershberger at ni.com>
> Cc: Tom Rini <trini at konsulko.com>
> ---
>   common/env_ubi.c | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/common/env_ubi.c b/common/env_ubi.c
> index e0dc5af..e611199 100644
> --- a/common/env_ubi.c
> +++ b/common/env_ubi.c
> @@ -181,8 +181,7 @@ void env_relocate_spec(void)
>   		return;
>   	}
>
> -	if (ubi_volume_read(CONFIG_ENV_UBI_VOLUME, (void *)&buf,
> -			    CONFIG_ENV_SIZE)) {
> +	if (ubi_volume_read(CONFIG_ENV_UBI_VOLUME, buf, CONFIG_ENV_SIZE)) {
>   		printf("\n** Unable to read env from %s:%s **\n",
>   		       CONFIG_ENV_UBI_PART, CONFIG_ENV_UBI_VOLUME);
>   		set_default_env(NULL);

Good catch!

Reviewed-by: Heiko Schocher <hs at denx.de>

bye,
Heiko
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list