sprintf always adds a NULL terminator at the end of the buffer it works on.
A few places made just enough space for the resulting string, but not the terminator.
So this just adds one to the buffer size to make room for it.
if (hour == 0){
hour = 12;
}
- char hour_str[2] = "";
- char min_str[2] = "";
+ char hour_str[3] = "";
+ char min_str[3] = "";
sprintf(hour_str, "%02d", hour);
sprintf(min_str, "%02d", minute);
if (hour == 0){
hour = 12;
}
- char hour_str[2] = "";
- char min_str[2] = "";
- char year_str[4] = "";
- char month_str[2] = "";
- char day_str[2] = "";
+ char hour_str[3] = "";
+ char min_str[3] = "";
+ char year_str[5] = "";
+ char month_str[3] = "";
+ char day_str[3] = "";
sprintf(hour_str, "%02d", hour);
sprintf(min_str, "%02d", minute);