mirror of
https://github.com/MariaDB/server.git
synced 2026-05-06 07:05:33 +02:00
MDEV-17589: Stack-buffer-overflow with indexed varchar (utf8) field
Create a new constant MAX_DATA_LENGTH_FOR_KEY. Replace the value of MAX_KEY_LENGTH to also include the LENGTH and NULL BYTES of a field.
This commit is contained in:
parent
da4efd56aa
commit
7e606a2d5c
6 changed files with 79 additions and 7 deletions
|
|
@ -33,7 +33,17 @@
|
|||
#define MAX_SYS_VAR_LENGTH 32
|
||||
#define MAX_KEY MAX_INDEXES /* Max used keys */
|
||||
#define MAX_REF_PARTS 32 /* Max parts used as ref */
|
||||
#define MAX_KEY_LENGTH 3072 /* max possible key */
|
||||
|
||||
/*
|
||||
Maximum length of the data part of an index lookup key.
|
||||
|
||||
The "data part" is defined as the value itself, not including the
|
||||
NULL-indicator bytes or varchar length bytes ("the Extras"). We need this
|
||||
value because there was a bug where length of the Extras were not counted.
|
||||
|
||||
You probably need MAX_KEY_LENGTH, not this constant.
|
||||
*/
|
||||
#define MAX_DATA_LENGTH_FOR_KEY 3072
|
||||
#if SIZEOF_OFF_T > 4
|
||||
#define MAX_REFLENGTH 8 /* Max length for record ref */
|
||||
#else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue