Details
-
Bug
-
Resolution: Fixed
-
Blocker
-
4.5.1
-
None
-
Untriaged
-
Yes
Description
The secondary key max length check has regressed after secondary key encoding was moved to projector in 4.5.0.
Right now it works as follows:
1. If len(key) > maxIndexEntrySize, the key gets skipped
maxIndexEntrySize = 12546 [(4096 * 3) + 256 + 2]
where 256 = MAX_DOCID_LEN and 2 is reserved for len of docid.
2. But after the check, docid and len(docid) are appended to it. This causes the buffer overrun.
The fix is to check len(key) > maxIndexEntrySize - 256 - 2
Attachments
Issue Links
- relates to
-
MB-22495 Allow MAX_SEC_KEY_LEN to be a configurable value
- Closed
For Gerrit Dashboard: MB-22389 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
72183,1 | MB-22389: Fix secondary key max length check in index entry | unstable | indexing | Status: NEW | 0 | 0 |
72177,1 | MB-22389: Fix secondary key max length check in index entry | unstable | indexing | Status: MERGED | +2 | +1 |
72190,1 | MB-22389 Increase default value for MAX_SEC_KEY_LEN | unstable | indexing | Status: MERGED | +2 | +1 |
72193,1 | MB-22389: Fix secondary key max length check in index entry | 4.5.1 | indexing | Status: MERGED | +2 | +1 |
72194,1 | MB-22389 Increase default value for MAX_SEC_KEY_LEN | 4.5.1 | indexing | Status: MERGED | +2 | +1 |
73053,2 | MB-22603: Merge branch '4.5.1' into 4.6.0 | 4.6.0 | indexing | Status: MERGED | +2 | +1 |
73057,1 | MB-22603: Merge branch '4.5.1' into 4.6.0 | 4.6.0 | indexing | Status: ABANDONED | 0 | 0 |
73058,1 | MB-22603: Merge branch '4.5.1' into 4.6.0 | 4.6.0 | indexing | Status: ABANDONED | 0 | 0 |