diff options
author | Alexander Barkov <bar@mariadb.org> | 2016-12-07 18:05:13 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2016-12-07 18:05:13 +0400 |
commit | c32d3e16f37b0b3581ee03d4b3681add890112da (patch) | |
tree | 3541a21afe6a4df54647450255a86530ce1d9fda /sql/sql_time.cc | |
parent | 52b590bcf9273b673670ae2847d2e7361a470741 (diff) | |
download | mariadb-git-c32d3e16f37b0b3581ee03d4b3681add890112da.tar.gz |
MDEV-10787 Assertion `ltime->neg == 0' failed in void date_to_datetime(MYSQL_TIME*)
Diffstat (limited to 'sql/sql_time.cc')
-rw-r--r-- | sql/sql_time.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/sql_time.cc b/sql/sql_time.cc index b55b1d76b99..1bd68e89ecb 100644 --- a/sql/sql_time.cc +++ b/sql/sql_time.cc @@ -930,7 +930,10 @@ bool date_add_interval(MYSQL_TIME *ltime, interval_type int_type, my_bool neg= 0; enum enum_mysql_timestamp_type time_type= ltime->time_type; - if ((ulong) interval.day > MAX_DAY_NUMBER) + if (((ulonglong) interval.day + + (ulonglong) interval.hour / 24 + + (ulonglong) interval.minute / 24 / 60 + + (ulonglong) interval.second / 24 / 60 / 60) > MAX_DAY_NUMBER) goto invalid_date; if (time_type != MYSQL_TIMESTAMP_TIME) |