Commit 52c05130 authored by marko's avatar marko

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.
parent 770dde69
...@@ -411,11 +411,16 @@ rec_init_offsets( ...@@ -411,11 +411,16 @@ rec_init_offsets(
== DATA_BLOB)) { == DATA_BLOB)) {
if (len & 0x80) { if (len & 0x80) {
/* 1exxxxxxx xxxxxxxx */ /* 1exxxxxxx xxxxxxxx */
len <<= 8; len <<= 8;
len |= *lens--; len |= *lens--;
ut_a(len <= 0x3fff); /* B-tree node pointers
offs += len; must not contain externally
stored columns. Thus
the "e" flag must be 0. */
ut_a(!(len & 0x4000));
offs += len & 0x3fff;
len = offs; len = offs;
goto resolved; goto resolved;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment