diff options
author | Martin Roth <martinroth@chromium.org> | 2016-10-26 12:30:08 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-11-16 19:04:33 -0800 |
commit | 0e0a9589ec81575ae377431e5f76b68780e0d9eb (patch) | |
tree | 7bc5ef5bb3103a90b2d1e26584b370f1fe4b0106 | |
parent | d961991d6793e6875541fd26e9f715d5a9a7da4e (diff) | |
download | chrome-ec-0e0a9589ec81575ae377431e5f76b68780e0d9eb.tar.gz |
upgrade_fw.c: Initialize variable before using it.
block offset was being used in a printf before it was being
initialized. Initialize it earlier to fix the problem.
This does not change the size of any ec.*.flat file.
BRANCH=none
BUG=none
TEST=build succeeds under GCC 4.9.2, 5.3 and 6.2
Change-Id: I3233ca3b10d35a6f61036c2e30224dc3747618fd
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/403501
Reviewed-by: Shawn N <shawnn@chromium.org>
-rw-r--r-- | chip/g/upgrade_fw.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/chip/g/upgrade_fw.c b/chip/g/upgrade_fw.c index 19e89f6507..0eed2c51a4 100644 --- a/chip/g/upgrade_fw.c +++ b/chip/g/upgrade_fw.c @@ -228,6 +228,9 @@ void fw_upgrade_command_handler(void *body, DCRYPTO_SHA1_hash((uint8_t *)&cmd_body->block_base, body_size + sizeof(cmd_body->block_base), sha1_digest); + + block_offset = be32toh(cmd_body->block_base); + if (memcmp(sha1_digest, &cmd_body->block_digest, sizeof(cmd_body->block_digest))) { *error_code = UPGRADE_DATA_ERROR; @@ -239,7 +242,6 @@ void fw_upgrade_command_handler(void *body, } /* Check if the block will fit into the valid area. */ - block_offset = be32toh(cmd_body->block_base); *error_code = check_update_chunk(block_offset, body_size); if (*error_code) return; |