diff options
author | Oystein Grovlen <oystein.grovlen@oracle.com> | 2011-01-12 11:27:31 +0100 |
---|---|---|
committer | Oystein Grovlen <oystein.grovlen@oracle.com> | 2011-01-12 11:27:31 +0100 |
commit | 17cd0bccdbc9be80e02aeed33a0a3c34e24bff5d (patch) | |
tree | 3d3660184c4d2907cdd9c1985a9fd0183f10ba48 /sql/item_cmpfunc.cc | |
parent | 4de51403271e1b0882a58aed806f9e661d39917b (diff) | |
parent | 651313bf91d7771831de7228bb4130f0ac64c33a (diff) | |
download | mariadb-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.cc | 9 |
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; |