summaryrefslogtreecommitdiff
path: root/sql/sql_handler.cc
diff options
context:
space:
mode:
authorunknown <serg@serg.mysql.com>2001-04-08 12:56:12 +0200
committerunknown <serg@serg.mysql.com>2001-04-08 12:56:12 +0200
commitcb2fe473f274c87f9adb39438d76edd598ad7771 (patch)
tree278222bc5cbb1cc3a7f37817ef1bd3ddb752b58c /sql/sql_handler.cc
parent7006b51823cc6c1f69f42f3c1599385414e6c5b4 (diff)
downloadmariadb-git-cb2fe473f274c87f9adb39438d76edd598ad7771.tar.gz
This wouldn't ever be pushed
mysql-test/t/handler.test: new tests sql/sql_handler.cc: bugfix
Diffstat (limited to 'sql/sql_handler.cc')
-rw-r--r--sql/sql_handler.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/sql_handler.cc b/sql/sql_handler.cc
index df6734c5fd3..17d5ea02e82 100644
--- a/sql/sql_handler.cc
+++ b/sql/sql_handler.cc
@@ -90,6 +90,12 @@ int mysql_ha_read(THD *thd, TABLE_LIST *tables,
KEY *keyinfo=table->key_info+keyno;
uint key_len=0, i;
byte *key, *buf;
+ if (key_expr->elements > keyinfo->key_parts)
+ {
+ my_printf_error(ER_TOO_MANY_KEY_PARTS,ER(ER_TOO_MANY_KEY_PARTS),
+ MYF(0),keyinfo->key_parts);
+ return -1;
+ }
for (i=0; i < key_expr->elements; i++)
key_len+=keyinfo->key_part[i].store_length;
if (!(key=sql_calloc(ALIGN_SIZE(key_len))))