From a9f468e82a7d896c67e9a1dc2db621b715ee515e Mon Sep 17 00:00:00 2001 From: philmoz Date: Tue, 3 Oct 2023 11:59:29 +1100 Subject: [PATCH] fix(radio): Limit year range for RTC to prevent overflow (#4124) --- radio/src/gui/128x64/radio_setup.cpp | 2 +- radio/src/gui/212x64/radio_setup.cpp | 2 +- radio/src/gui/colorlcd/radio_setup.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/radio/src/gui/128x64/radio_setup.cpp b/radio/src/gui/128x64/radio_setup.cpp index 396fc05f9..5d1b18c9c 100644 --- a/radio/src/gui/128x64/radio_setup.cpp +++ b/radio/src/gui/128x64/radio_setup.cpp @@ -238,7 +238,7 @@ void menuRadioSetup(event_t event) case 0: lcdDrawNumber(RADIO_SETUP_2ND_COLUMN-2, y, t.tm_year+TM_YEAR_BASE, rowattr); lcdDrawChar(lcdNextPos, y, '-'); - if (rowattr && s_editMode > 0) t.tm_year = checkIncDec(event, t.tm_year, 112, 200, 0); + if (rowattr && s_editMode > 0) t.tm_year = checkIncDec(event, t.tm_year, 123, 137, 0); break; case 1: lcdDrawNumber(lcdNextPos, y, t.tm_mon+1, rowattr|LEADING0, 2); diff --git a/radio/src/gui/212x64/radio_setup.cpp b/radio/src/gui/212x64/radio_setup.cpp index 8aa77bb87..737efa66a 100644 --- a/radio/src/gui/212x64/radio_setup.cpp +++ b/radio/src/gui/212x64/radio_setup.cpp @@ -239,7 +239,7 @@ void menuRadioSetup(event_t event) switch (j) { case 0: lcdDrawNumber(RADIO_SETUP_DATE_COLUMN, y, t.tm_year+TM_YEAR_BASE, rowattr|RIGHT); - if (rowattr && s_editMode>0) t.tm_year = checkIncDec(event, t.tm_year, 112, 200, 0); + if (rowattr && s_editMode>0) t.tm_year = checkIncDec(event, t.tm_year, 123, 137, 0); break; case 1: lcdDrawNumber(RADIO_SETUP_DATE_COLUMN+3*FW-2, y, t.tm_mon+1, rowattr|LEADING0|RIGHT, 2); diff --git a/radio/src/gui/colorlcd/radio_setup.cpp b/radio/src/gui/colorlcd/radio_setup.cpp index 49b907401..1267954d8 100644 --- a/radio/src/gui/colorlcd/radio_setup.cpp +++ b/radio/src/gui/colorlcd/radio_setup.cpp @@ -126,7 +126,7 @@ class DateTimeWindow : public FormWindow { // Date auto line = newLine(&grid); new StaticText(line, rect_t{}, STR_DATE, 0, COLOR_THEME_PRIMARY1); - year = new NumberEdit(line, rect_t{}, 2018, 2100, + year = new NumberEdit(line, rect_t{}, 2023, 2037, [=]() -> int32_t { return TM_YEAR_BASE + m_tm.tm_year; },