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

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",

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!

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
participants (3)
-
Anatolij Gustschin
-
Stefano Babic
-
Tom Rini