diff --git a/src/main.cpp b/src/main.cpp index 65d4b7a..cf7bd4a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -78,11 +78,15 @@ int version_func(CommandRouter *cmd, int argc, const char **argv) { int serialnumber_func(CommandRouter *cmd, int argc, const char **argv) { (void)argc; (void)argv; - int i; + uint8_t i; // https://github.com/PaulStoffregen/cores/pull/722 - for (i=0; i < 10; i++) { +#pragma GCC diagnostic push + // https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html +#pragma GCC diagnostic ignored "-Warray-bounds" + for (i=0; i < (usb_string_serial_number.bLength - 2) / sizeof(uint16_t); i++) { cmd->buffer[i] = (char)usb_string_serial_number.wString[i]; } +#pragma GCC diagnostic pop cmd->buffer[i] = '\0'; return 0; }