summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.cc
diff options
context:
space:
mode:
authorOystein Grovlen <oystein.grovlen@oracle.com>2011-01-12 11:27:31 +0100
committerOystein Grovlen <oystein.grovlen@oracle.com>2011-01-12 11:27:31 +0100
commit17cd0bccdbc9be80e02aeed33a0a3c34e24bff5d (patch)
tree3d3660184c4d2907cdd9c1985a9fd0183f10ba48 /sql/item_cmpfunc.cc
parent4de51403271e1b0882a58aed806f9e661d39917b (diff)
parent651313bf91d7771831de7228bb4130f0ac64c33a (diff)
downloadmariadb-git-17cd0bccdbc9be80e02aeed33a0a3c34e24bff5d.tar.gz
Merge fix for Bug#59211 to mysql-5.5-security
Diffstat (limited to 'sql/item_cmpfunc.cc')
-rw-r--r--sql/item_cmpfunc.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index fe8ff3a74d0..0e989b310fa 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -1208,9 +1208,12 @@ get_year_value(THD *thd, Item ***item_arg, Item **cache_arg,
value of 2000.
*/
Item *real_item= item->real_item();
- if (!(real_item->type() == Item::FIELD_ITEM &&
- ((Item_field *)real_item)->field->type() == MYSQL_TYPE_YEAR &&
- ((Item_field *)real_item)->field->field_length == 4))
+ Field *field= NULL;
+ if (real_item->type() == Item::FIELD_ITEM)
+ field= ((Item_field *)real_item)->field;
+ else if (real_item->type() == Item::CACHE_ITEM)
+ field= ((Item_cache *)real_item)->field();
+ if (!(field && field->type() == MYSQL_TYPE_YEAR && field->field_length == 4))
{
if (value < 70)
value+= 100;