diff options
Diffstat (limited to 'tools/env/fw_env.c')
| -rw-r--r-- | tools/env/fw_env.c | 6 | 
1 files changed, 2 insertions, 4 deletions
| diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index 74c0498d5a6..f723b5bca1d 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -614,8 +614,7 @@ static int env_init (void)  		if (!crc1_ok) {  			fprintf (stderr,  				"Warning: Bad CRC, using default environment\n"); -			environment.data = default_environment; -			free (addr1); +			memcpy(environment.data, default_environment, sizeof default_environment);  		}  	} else {  		flag1 = environment.flags; @@ -652,9 +651,8 @@ static int env_init (void)  		} else if (!crc1_ok && !crc2_ok) {  			fprintf (stderr,  				"Warning: Bad CRC, using default environment\n"); -			environment.data = default_environment; +			memcpy(environment.data, default_environment, sizeof default_environment);  			curdev = 0; -			free (addr2);  			free (addr1);  		} else if (flag1 == active_flag && flag2 == obsolete_flag) {  			environment.data = addr1; | 
