diff --git a/platforms/common/i2c.cpp b/platforms/common/i2c.cpp index 7f68a9cfcd..59d4cd3399 100644 --- a/platforms/common/i2c.cpp +++ b/platforms/common/i2c.cpp @@ -40,9 +40,11 @@ #ifndef BOARD_OVERRIDE_I2C_BUS_EXTERNAL bool px4_i2c_bus_external(int bus) { - for (int i = 0; i < I2C_BUS_MAX_BUS_ITEMS; ++i) { - if (px4_i2c_buses[i].bus == bus) { - return px4_i2c_buses[i].is_external; + if (px4_i2c_buses) { + for (int i = 0; i < I2C_BUS_MAX_BUS_ITEMS; ++i) { + if ((px4_i2c_buses[i].bus != -1) && (px4_i2c_buses[i].bus == bus)) { + return px4_i2c_buses[i].is_external; + } } }