FIX: Buffer overflow: Mode::timers

This commit is contained in:
Patrick Haßel 2023-01-09 10:15:59 +01:00
parent 2debaa2158
commit 1d0c3c0c1c
2 changed files with 5 additions and 2 deletions

View File

@ -127,7 +127,7 @@ private:
void handleTimers() { void handleTimers() {
milliseconds_t ms = millis(); milliseconds_t ms = millis();
for (Timer *timer = timers; timer < timers + sizeof(timers); timer++) { for (Timer *timer = timers; timer < timers + countof(timers); timer++) {
if (timer->interval > 0) { if (timer->interval > 0) {
milliseconds_t milliseconds = ms - timer->last; milliseconds_t milliseconds = ms - timer->last;
if (milliseconds >= timer->interval) { if (milliseconds >= timer->interval) {

View File

@ -23,7 +23,10 @@ void serial_loop() {
case '7': case '7':
case '8': case '8':
case '9': case '9':
setMode((ModeId)(input - '0')); setMode((ModeId) (input - '0'));
break;
case 'a':
setMode((ModeId) (input - 'a'));
break; break;
case '+': case '+':
setBrightness(display.getBrightness() + 10); setBrightness(display.getBrightness() + 10);