mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 11:31:51 +01:00
branches/zip: rec_init_offsets(): Fix a bug that was introduced in r1518:
Correctly handle node pointer records containing variable-length columns with two-byte length.
This commit is contained in:
parent
770dde6947
commit
52c0513083
1 changed files with 7 additions and 2 deletions
|
@ -411,11 +411,16 @@ rec_init_offsets(
|
|||
== DATA_BLOB)) {
|
||||
if (len & 0x80) {
|
||||
/* 1exxxxxxx xxxxxxxx */
|
||||
|
||||
len <<= 8;
|
||||
len |= *lens--;
|
||||
|
||||
ut_a(len <= 0x3fff);
|
||||
offs += len;
|
||||
/* B-tree node pointers
|
||||
must not contain externally
|
||||
stored columns. Thus
|
||||
the "e" flag must be 0. */
|
||||
ut_a(!(len & 0x4000));
|
||||
offs += len & 0x3fff;
|
||||
len = offs;
|
||||
|
||||
goto resolved;
|
||||
|
|
Loading…
Add table
Reference in a new issue