diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 45907f3557..10d26ac98b 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -5040,10 +5040,14 @@ inline void gcode_M121() { endstops.enable_globally(false); } uint8_t addr = code_seen('A') ? code_value_short() : 0; int bytes = code_seen('B') ? code_value_short() : 0; - if (addr && bytes) { + if (addr && bytes > 0 && bytes <= 32) { i2c.address(addr); i2c.reqbytes(bytes); } + else { + SERIAL_ERROR_START; + SERIAL_ERRORLN("Bad i2c request"); + } } #endif //EXPERIMENTAL_I2CBUS