This fixes a bug that tmp environment memory not being released.

Signed-off-by: Derek Ou <d...@siconix.com>
---
 common/env_nand.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/common/env_nand.c b/common/env_nand.c
index 8af9e74..e490775 100644
--- a/common/env_nand.c
+++ b/common/env_nand.c
@@ -304,9 +304,11 @@ void env_relocate_spec (void)
        crc1_ok = (crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc);
        crc2_ok = (crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc);

-       if(!crc1_ok && !crc2_ok)
+       if(!crc1_ok && !crc2_ok) {
+               free(tmp_env1);
+               free(tmp_env2);
                return use_default();
-       else if(crc1_ok && !crc2_ok)
+       } else if(crc1_ok && !crc2_ok)
                gd->env_valid = 1;
        else if(!crc1_ok && crc2_ok)
                gd->env_valid = 2;
-- 
1.5.4.3

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

Reply via email to