diff --git a/sql/item_create.cc b/sql/item_create.cc index 427857c58ad..349c47816ad 100644 --- a/sql/item_create.cc +++ b/sql/item_create.cc @@ -5125,7 +5125,7 @@ create_func_cast(THD *thd, Item *a, Cast_target cast_type, ulong decoded_size; errno= 0; decoded_size= strtoul(c_len, NULL, 10); - if (errno != 0) + if ((errno != 0) || (decoded_size > MAX_FIELD_BLOBLENGTH)) { my_error(ER_TOO_BIG_DISPLAYWIDTH, MYF(0), "cast as char", MAX_FIELD_BLOBLENGTH); return NULL;