diff --git a/src/timers.cc b/src/timers.cc index 221b594a..2501bab9 100644 --- a/src/timers.cc +++ b/src/timers.cc @@ -212,8 +212,10 @@ std::string LocalDateTimeString() { offset_minutes *= -1; tz_offset_sign = '-'; } + + // Apply % 100 to hour to guarantee range [0, 99]. tz_len = ::sprintf(tz_offset, "%c%02li:%02li", tz_offset_sign, - offset_minutes / 100, offset_minutes % 100); + (offset_minutes / 100) % 100, offset_minutes % 100); CHECK(tz_len == 6); ((void)tz_len); // Prevent unused variable warning in optimized build. } else {