WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::RefreshStep hour > 24 error!");\r
return;\r
}\r
+ // 检查分钟是否在有效范围\r
+ if (min > 59) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::RefreshStep min > 59 error!");\r
+ return;\r
+ }\r
+ // 检查 week 是否在有效范围\r
+ if (week > 127) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::RefreshStep week out of range!");\r
+ return;\r
+ }\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::week = %u!", week);\r
if ((week & 0x7f) == 0x7f)\r
{ // 判断0~6位是否都为1,如若都为1,则一周7天闹钟都响应\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "AlarmConfigView::RefreshStep labelTime or labelDay error!");\r
return;\r
}\r
- showtime[12] = {0};\r
- sprintf(showtime, "%02d:%02d", hour, min);\r
- // labelTime->SetTime24Hour(hour, min, 0);\r
+ memset(showtime, 0, sizeof(showtime));\r
+ snprintf(showtime, sizeof(showtime), "%02d:%02d", hour, min);// 使用更安全的 snprintf 函数\r
labelTime->SetText(showtime);\r
if (ConfigModel::GetInstance()->GetLanguage() == ZH_CN)\r
labelDay->SetText(weekStr.c_str());\r