diff options
author | Lucian Cojocar <cojocar@google.com> | 2016-07-20 10:34:04 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-07-22 01:49:13 -0700 |
commit | fac4f79fc5aac4c90c9026cf750d9157684cdc0a (patch) | |
tree | 437b4dc86424362ddfe0d5348ec704a80bac1636 | |
parent | 3d4c4ffdfa81eeae04410186b8c149535fa79658 (diff) | |
download | chrome-ec-fac4f79fc5aac4c90c9026cf750d9157684cdc0a.tar.gz |
upgrade_fw: fw_upgrade_command_handler: fix cmd_size check
body_size is unsigned so the comparison was always false
BUG=None
BRANCH=none
TEST=tested the update process on CR50 board using the usb_updater
Change-Id: I004ee94653656449ae6f8699f06422e925d9e1b6
Signed-off-by: Lucian Cojocar <cojocar@google.com>
Reviewed-on: https://chromium-review.googlesource.com/362082
Commit-Ready: Dan Shi <dshi@chromium.org>
Tested-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
-rw-r--r-- | chip/g/upgrade_fw.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/chip/g/upgrade_fw.c b/chip/g/upgrade_fw.c index 26d3d32517..c8ff5b80d5 100644 --- a/chip/g/upgrade_fw.c +++ b/chip/g/upgrade_fw.c @@ -102,12 +102,12 @@ void fw_upgrade_command_handler(void *body, */ *response_size = sizeof(*rv); - body_size = cmd_size - offsetof(struct upgrade_command, block_body); - if (body_size < 0) { + if (cmd_size < offsetof(struct upgrade_command, block_body)) { CPRINTF("%s:%d\n", __func__, __LINE__); *rv = UPGRADE_GEN_ERROR; return; } + body_size = cmd_size - offsetof(struct upgrade_command, block_body); if (!cmd_body->block_base && !body_size) { /* |