diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c index 66cb9d2a..1ac413b1 100644 --- a/tools/env/fw_env.c +++ b/tools/env/fw_env.c @@ -513,7 +513,7 @@ int fw_env_flush(struct env_opts *opts) /* * Update CRC */ - *environment.crc = crc32(0, (uint8_t *) environment.data, ENV_SIZE); + *environment.crc = crc32(0, (uint8_t *) environment.data + 1, ENV_SIZE - 1); /* write environment back to flash */ if (flash_io(O_RDWR)) { @@ -1457,8 +1457,8 @@ int fw_env_open(struct env_opts *opts) goto open_cleanup; } - crc0 = crc32(0, (uint8_t *)environment.data, ENV_SIZE); - + crc0 = crc32(0, (uint8_t *) (environment.data + 1) , ENV_SIZE - 1); +// crc0 = crc32(0, (uint8_t *) (environment.data) , ENV_SIZE); crc0_ok = (crc0 == *environment.crc); if (!have_redund_env) { if (!crc0_ok) {