diff mbox

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

Message ID 1445622690-18924-1-git-send-email-kevin.smith@elecsyscorp.com
State Awaiting Upstream
Delegated to: Heiko Schocher
Headers show

Commit Message

Kevin Smith Oct. 23, 2015, 5:51 p.m. UTC
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@elecsyscorp.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Cc: Tom Rini <trini@konsulko.com>
---
 common/env_ubi.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Joe Hershberger Oct. 23, 2015, 8:30 p.m. UTC | #1
On Fri, Oct 23, 2015 at 12:51 PM, Kevin Smith
<kevin.smith@elecsyscorp.com> wrote:
> 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@elecsyscorp.com>
> Cc: Joe Hershberger <joe.hershberger@ni.com>
> Cc: Tom Rini <trini@konsulko.com>

Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Heiko Schocher Oct. 26, 2015, 5:06 a.m. UTC | #2
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@elecsyscorp.com>
> Cc: Joe Hershberger <joe.hershberger@ni.com>
> Cc: Tom Rini <trini@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@denx.de>

bye,
Heiko
diff mbox

Patch

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);