summaryrefslogtreecommitdiff
path: root/sql/tztime.cc
diff options
context:
space:
mode:
authorthek@adventure.(none) <>2007-07-25 09:43:49 +0200
committerthek@adventure.(none) <>2007-07-25 09:43:49 +0200
commit13d5119416edf9b74747219283e22cd3148cd9c9 (patch)
tree4975540067a1ce21545ee546bf04332d0fbfcb96 /sql/tztime.cc
parent0d027edd6ada9c31658991c2738fccd2d6c9e94d (diff)
downloadmariadb-git-13d5119416edf9b74747219283e22cd3148cd9c9.tar.gz
Bug#28641 CREATE EVENT with '2038.01.18 03:00:00' let server crash.
Creating an EVENT to be executed at a time close to the end of the allowed range (2038.01.19 03:14:07 UTC) would cause the server to crash. The expected behavior is to accept all calendar times within the interval and reject all other values without crashing. This patch replaces the function 'sec_to_epoch_TIME' with a Time_zone API call. This function was broken because it invoked the internal function 'sec_to_epoch' without respecting the restrictions on the function parameters (and this caused assertion failure). It also was used as a reverse function to Time_zone_utc::gmt_sec_to_TIME which it isn't.
Diffstat (limited to 'sql/tztime.cc')
-rw-r--r--sql/tztime.cc15
1 files changed, 2 insertions, 13 deletions
diff --git a/sql/tztime.cc b/sql/tztime.cc
index 0c717dd2ece..14192d06978 100644
--- a/sql/tztime.cc
+++ b/sql/tztime.cc
@@ -807,19 +807,6 @@ sec_since_epoch(int year, int mon, int mday, int hour, int min ,int sec)
SECS_PER_MIN + sec;
}
-
- /*
- Works like sec_since_epoch but expects MYSQL_TIME structure as parameter.
-*/
-
-my_time_t
-sec_since_epoch_TIME(MYSQL_TIME *t)
-{
- return sec_since_epoch(t->year, t->month, t->day,
- t->hour, t->minute, t->second);
-}
-
-
/*
Converts local time in broken down MYSQL_TIME representation to my_time_t
representation.
@@ -1425,7 +1412,9 @@ Time_zone_offset::get_name() const
static Time_zone_utc tz_UTC;
static Time_zone_system tz_SYSTEM;
+static Time_zone_offset tz_OFFSET0(0);
+Time_zone *my_tz_OFFSET0= &tz_OFFSET0;
Time_zone *my_tz_UTC= &tz_UTC;
Time_zone *my_tz_SYSTEM= &tz_SYSTEM;