diff mbox

[U-Boot] tools: env: fix config file loading in env library

Message ID 1461960011-22469-1-git-send-email-agust@denx.de
State Accepted
Commit 925c97c248527391de32c2926f7e1911850fd4b0
Delegated to: Tom Rini
Headers show

Commit Message

Anatolij Gustschin April 29, 2016, 8 p.m. UTC
env library is broken as the config file pointer is only initialized
in main(). When running in the env library parse_config() fails:

  Cannot parse config file '(null)': Bad address

Ensure that config file pointer is always initialized.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
---
 tools/env/fw_env.c |    3 +++
 1 file changed, 3 insertions(+)

Comments

Tom Rini May 2, 2016, 11:32 p.m. UTC | #1
On Fri, Apr 29, 2016 at 10:00:11PM +0200, Anatolij Gustschin wrote:

> env library is broken as the config file pointer is only initialized
> in main(). When running in the env library parse_config() fails:
> 
>   Cannot parse config file '(null)': Bad address
> 
> Ensure that config file pointer is always initialized.
> 
> Signed-off-by: Anatolij Gustschin <agust@denx.de>
> Cc: Stefano Babic <sbabic@denx.de>

Applied to u-boot/master, thanks!
Stefano Babic May 4, 2016, 1:25 p.m. UTC | #2
On 29/04/2016 22:00, Anatolij Gustschin wrote:
> env library is broken as the config file pointer is only initialized
> in main(). When running in the env library parse_config() fails:
> 
>   Cannot parse config file '(null)': Bad address
> 
> Ensure that config file pointer is always initialized.
> 
> Signed-off-by: Anatolij Gustschin <agust@denx.de>
> Cc: Stefano Babic <sbabic@denx.de>
> ---
>  tools/env/fw_env.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
> index 1420ac5..06cf63d 100644
> --- a/tools/env/fw_env.c
> +++ b/tools/env/fw_env.c
> @@ -1325,6 +1325,9 @@ static int parse_config ()
>  	struct stat st;
>  
>  #if defined(CONFIG_FILE)
> +	if (!common_args.config_file)
> +		common_args.config_file = CONFIG_FILE;
> +
>  	/* Fills in DEVNAME(), ENVSIZE(), DEVESIZE(). Or don't. */
>  	if (get_config(common_args.config_file)) {
>  		fprintf(stderr, "Cannot parse config file '%s': %m\n",
> 

Reviewed-by : Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic
diff mbox

Patch

diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index 1420ac5..06cf63d 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -1325,6 +1325,9 @@  static int parse_config ()
 	struct stat st;
 
 #if defined(CONFIG_FILE)
+	if (!common_args.config_file)
+		common_args.config_file = CONFIG_FILE;
+
 	/* Fills in DEVNAME(), ENVSIZE(), DEVESIZE(). Or don't. */
 	if (get_config(common_args.config_file)) {
 		fprintf(stderr, "Cannot parse config file '%s': %m\n",