diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2018-05-11 09:02:09 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-05-14 21:29:46 -0700 |
commit | fa6c5abae5d9e962127ec15e79e45ffab9fad658 (patch) | |
tree | 5124f552254eada5a9bce1b0a15ac5f9ac142ac1 | |
parent | 88ffd86551e86bd8c57a10118c9fb6409e503507 (diff) | |
download | chrome-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.c | 7 |
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 */ |