Todd Lipcon created KUDU-2085: --------------------------------- Summary: Seek past last element of a prefix-encoded binary block may crash Key: KUDU-2085 URL: https://issues.apache.org/jira/browse/KUDU-2085 Project: Kudu Issue Type: Bug Components: cfile Affects Versions: 1.4.0, 1.3.1, 1.2.0, 1.1.0, 1.0.1 Reporter: Todd Lipcon Assignee: Todd Lipcon Priority: Critical
Similar to KUDU-2049, the binary prefix block encoder has a bug when seeking past the end of the block (i.e to the offset past the last element). The bug only causes issues in very specific circumstances: - the number of elements in the block has to be a multiple of 16 (the "restart interval") -- this causes the code to interpret the "restart count" at the end of the block data as an offset instead of part of the footer. - this value, when interpreted as an offset, points to a piece of data in the block which, when interpreted as a varint, ends up large enough to point past the end of the block. This results in an error like: F0730 09:56:07.291882 124055 binary_prefix_block.cc:325] Check failed: _s.ok() Bad status: Corruption: Could not decode value length data at idx 32 -- This message was sent by Atlassian JIRA (v6.4.14#64029)