From fac4f79fc5aac4c90c9026cf750d9157684cdc0a Mon Sep 17 00:00:00 2001 From: Lucian Cojocar Date: Wed, 20 Jul 2016 10:34:04 -0700 Subject: [PATCH] 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 Reviewed-on: https://chromium-review.googlesource.com/362082 Commit-Ready: Dan Shi Tested-by: Vadim Bendebury Reviewed-by: Vadim Bendebury --- chip/g/upgrade_fw.c | 4 ++-- 1 file 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) { /*