From: Wolfgang Denk Date: Sun, 17 Jan 2010 04:50:26 +0000 (-0700) Subject: env_nand.c: print error message and fail gracefully X-Git-Tag: v2010.03-rc1~96^2~3 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=15b86c3d6c9a5a2e917b73d758a556568430021a;p=u-boot env_nand.c: print error message and fail gracefully env_nand.c would crash silently if a malloc() for the environment buffers failed; make it print an error message and fail gracefully, i. e. use the default environment then. Signed-off-by: Wolfgang Denk Acked-by: John Rigby --- diff --git a/common/env_nand.c b/common/env_nand.c index ca631af195..a15a950902 100644 --- a/common/env_nand.c +++ b/common/env_nand.c @@ -298,6 +298,13 @@ void env_relocate_spec (void) tmp_env1 = (env_t *) malloc(CONFIG_ENV_SIZE); tmp_env2 = (env_t *) malloc(CONFIG_ENV_SIZE); + if ((tmp_env1 == NULL) || (tmp_env2 == NULL)) { + puts("Can't allocate buffers for environment\n"); + free (tmp_env1); + free (tmp_env2); + return use_default(); + } + if (readenv(CONFIG_ENV_OFFSET, (u_char *) tmp_env1)) puts("No Valid Environment Area Found\n"); if (readenv(CONFIG_ENV_OFFSET_REDUND, (u_char *) tmp_env2))