summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Mittelberg <bmbm@google.com>2022-11-09 15:46:15 -0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-11-10 06:16:42 +0000
commitc0bbf8879b5faed713de29537c83a8e29dabe545 (patch)
tree52858908f2e249a98f2535532c428f3ffa81b4af
parent46ab9139420fa4f0eeaad49bb085e758f66a5103 (diff)
downloadchrome-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>
-rw-r--r--chip/npcx/espi.c3
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));