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 <ag...@denx.de>
Cc: Stefano Babic <sba...@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",
-- 
1.7.9.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to