summaryrefslogtreecommitdiff
path: root/sql/item_timefunc.cc
diff options
context:
space:
mode:
authorTor Didriksen <tor.didriksen@oracle.com>2011-04-28 09:03:56 +0200
committerTor Didriksen <tor.didriksen@oracle.com>2011-04-28 09:03:56 +0200
commit1019b95877bd1a8f581e58a9f2d52ec52d23e5b7 (patch)
treeffeeb2dc04f84be12ecd411057799864419c125e /sql/item_timefunc.cc
parentd976430ccc7826b38f9d4ee45fc841216ede18b2 (diff)
downloadmariadb-git-1019b95877bd1a8f581e58a9f2d52ec52d23e5b7.tar.gz
Bug#12340997 - DATE_ADD/DATE_SUB WITH INTERVAL CRASHES IN GET_INTERVAL_VALUE()
get_interval_value() was trying to parse the input string, looking for leading '-' while skipping whitespace. The macro my_isspace() does not work for utf16 character set, since my_charset_utf16_general_ci.ctype == NULL. Solution: convert input to ASCII before parsing.
Diffstat (limited to 'sql/item_timefunc.cc')
-rw-r--r--sql/item_timefunc.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/item_timefunc.cc b/sql/item_timefunc.cc
index 19e7b3f52ef..36b85f2411f 100644
--- a/sql/item_timefunc.cc
+++ b/sql/item_timefunc.cc
@@ -1430,7 +1430,7 @@ bool get_interval_value(Item *args,interval_type int_type,
else
{
String *res;
- if (!(res=args->val_str(str_value)))
+ if (!(res= args->val_str_ascii(str_value)))
return (1);
/* record negative intervalls in interval->neg */