[Skiboot] [PATCH] hw/lpc: Fix theoretical possible out-of-bounds-read
Stewart Smith
stewart at linux.ibm.com
Mon Jun 3 17:41:21 AEST 2019
number of elements versus starting counting from 0.
Found by static analysis.
Signed-off-by: Stewart Smith <stewart at linux.ibm.com>
---
hw/lpc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/lpc.c b/hw/lpc.c
index 3f2300ce9dca..3f5109d732b4 100644
--- a/hw/lpc.c
+++ b/hw/lpc.c
@@ -519,7 +519,7 @@ static int64_t lpc_probe_test(struct lpcm *lpc)
/* Ensure we can perform a valid lookup in the error table */
idx = LPC_ERROR_IDX(irqstat);
- if (idx < 0 || idx > ARRAY_SIZE(lpc_error_table)) {
+ if (idx < 0 || idx >= ARRAY_SIZE(lpc_error_table)) {
prerror("LPC bus error translation failed with status 0x%x\n",
irqstat);
return OPAL_PARAMETER;
@@ -1035,7 +1035,7 @@ static void lpc_dispatch_err_irqs(struct lpcm *lpc, uint32_t irqs)
/* Ensure we can perform a valid lookup in the error table */
idx = LPC_ERROR_IDX(irqs);
- if (idx < 0 || idx > ARRAY_SIZE(lpc_error_table)) {
+ if (idx < 0 || idx >= ARRAY_SIZE(lpc_error_table)) {
prerror("LPC bus error translation failed with status 0x%x\n",
irqs);
return;
--
2.21.0
More information about the Skiboot
mailing list