You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2017/08/07 23:22:00 UTC
[jira] [Commented] (KUDU-2085) Seek past last element of a
prefix-encoded binary block may crash
[ https://issues.apache.org/jira/browse/KUDU-2085?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16117542#comment-16117542 ]
Todd Lipcon commented on KUDU-2085:
-----------------------------------
fixed in master for 1.5, posted cherry-pick reviews for 1.3 and 1.4. We should probably backport to 1.2 as well but it wasn't clean.
> 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.0.1, 1.1.0, 1.2.0, 1.3.1, 1.4.0
> 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)