From 17d9b5006dc8dc585de6c52abfb1a65487e0d16d Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 28 May 2015 11:05:44 +0100 Subject: [PATCH] stmhal: Fix off-by-one error when checking for valid I2C and SPI bus. --- stmhal/i2c.c | 2 +- stmhal/spi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/stmhal/i2c.c b/stmhal/i2c.c index b0b28685c3..2d0176124b 100644 --- a/stmhal/i2c.c +++ b/stmhal/i2c.c @@ -327,7 +327,7 @@ STATIC mp_obj_t pyb_i2c_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n } else { i2c_id = mp_obj_get_int(args[0]); if (i2c_id < 1 || i2c_id > MP_ARRAY_SIZE(pyb_i2c_obj) - || pyb_i2c_obj[i2c_id].i2c == NULL) { + || pyb_i2c_obj[i2c_id - 1].i2c == NULL) { nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ValueError, "I2C(%d) does not exist", i2c_id)); } diff --git a/stmhal/spi.c b/stmhal/spi.c index c85e480480..da24b701fc 100644 --- a/stmhal/spi.c +++ b/stmhal/spi.c @@ -485,7 +485,7 @@ STATIC mp_obj_t pyb_spi_make_new(mp_obj_t type_in, mp_uint_t n_args, mp_uint_t n } else { spi_id = mp_obj_get_int(args[0]); if (spi_id < 1 || spi_id > MP_ARRAY_SIZE(pyb_spi_obj) - || pyb_spi_obj[spi_id].spi == NULL) { + || pyb_spi_obj[spi_id - 1].spi == NULL) { nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ValueError, "SPI(%d) does not exist", spi_id)); }