diff options
author | Boris Mittelberg <bmbm@google.com> | 2022-11-09 15:46:15 -0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-11-10 06:16:42 +0000 |
commit | c0bbf8879b5faed713de29537c83a8e29dabe545 (patch) | |
tree | 52858908f2e249a98f2535532c428f3ffa81b4af /chip/npcx | |
parent | 46ab9139420fa4f0eeaad49bb085e758f66a5103 (diff) | |
download | chrome-ec-c0bbf8879b5faed713de29537c83a8e29dabe545.tar.gz |
npcx: avoid invalid VW signal index
Prevent possibility of array[-1] access
BUG=b:64477774
BRANCH=none
TEST=none
Signed-off-by: Boris Mittelberg <bmbm@google.com>
Change-Id: I130b7d3872f857dc6e8dabca3f07d0d919b7ce64
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4018487
Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
Reviewed-by: caveh jalali <caveh@chromium.org>
Diffstat (limited to 'chip/npcx')
-rw-r--r-- | chip/npcx/espi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/chip/npcx/espi.c b/chip/npcx/espi.c index d64a22860d..4cf5b0e80d 100644 --- a/chip/npcx/espi.c +++ b/chip/npcx/espi.c @@ -274,6 +274,9 @@ void espi_wait_vw_not_dirty(enum espi_vw_signal signal, unsigned int timeout_us) uint64_t timeout; sig_idx = espi_vw_get_signal_index(signal); + /* Cannot find signal index */ + if (sig_idx < 0) + return; for (offset = 0; offset < ESPI_VWEVSM_NUM; offset++) { uint8_t vw_idx = VWEVSM_IDX_GET(NPCX_VWEVSM(offset)); |