summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2018-05-11 09:02:09 -0700
committerchrome-bot <chrome-bot@chromium.org>2018-05-14 21:29:46 -0700
commitfa6c5abae5d9e962127ec15e79e45ffab9fad658 (patch)
tree5124f552254eada5a9bce1b0a15ac5f9ac142ac1
parent88ffd86551e86bd8c57a10118c9fb6409e503507 (diff)
downloadchrome-ec-fa6c5abae5d9e962127ec15e79e45ffab9fad658.tar.gz
ectool: Allow cbi set to accept 4 byte filed
This patch makes 'cbi set' command accept a 4 byte field. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b:79514391 BRANCH=none TEST=Run ectool cbi set 2 0xabc 4 on Nami. Change-Id: I4ebfa6d35bf6dccbae80ec91ffd6bcc01fec03e5 Reviewed-on: https://chromium-review.googlesource.com/1056199 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
-rw-r--r--util/ectool.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/util/ectool.c b/util/ectool.c
index 0bbc559b34..dfdc972622 100644
--- a/util/ectool.c
+++ b/util/ectool.c
@@ -6510,7 +6510,7 @@ static void cmd_cbi_help(char *cmd)
" 0: BOARD_VERSION\n"
" 1: OEM_ID\n"
" 2: SKU_ID\n"
- " <size> is the size of the data\n"
+ " <size> is the size of the data in byte\n"
" <value> is integer to be set. No raw data support yet.\n"
" [get_flag] is combination of:\n"
" 01b: Invalidate cache and reload data from EEPROM\n"
@@ -6594,8 +6594,9 @@ static int cmd_cbi(int argc, char *argv[])
return -1;
}
size = strtol(argv[4], &e, 0);
- if ((e && *e) || val >= (1 << size*8)) {
- fprintf(stderr, "Bad size\n");
+ if ((e && *e) || size < 1 || 4 < size ||
+ val >= (1ull << size*8)) {
+ fprintf(stderr, "Bad size: %d\n", size);
return -1;
}
/* Little endian */