stmhal: Fix off-by-one error when checking for valid I2C and SPI bus.

This commit is contained in:
Damien George 2015-05-28 11:05:44 +01:00
parent 5a57447a8c
commit 17d9b5006d
2 changed files with 2 additions and 2 deletions

View File

@ -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 { } else {
i2c_id = mp_obj_get_int(args[0]); i2c_id = mp_obj_get_int(args[0]);
if (i2c_id < 1 || i2c_id > MP_ARRAY_SIZE(pyb_i2c_obj) 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, nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ValueError,
"I2C(%d) does not exist", i2c_id)); "I2C(%d) does not exist", i2c_id));
} }

View File

@ -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 { } else {
spi_id = mp_obj_get_int(args[0]); spi_id = mp_obj_get_int(args[0]);
if (spi_id < 1 || spi_id > MP_ARRAY_SIZE(pyb_spi_obj) 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, nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ValueError,
"SPI(%d) does not exist", spi_id)); "SPI(%d) does not exist", spi_id));
} }