You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2015/07/15 14:34:05 UTC
[jira] [Assigned] (OAK-3105) SegmentWriter doesn't properly check
the length of external blob IDs
[ https://issues.apache.org/jira/browse/OAK-3105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dürig reassigned OAK-3105:
----------------------------------
Assignee: Michael Dürig
> SegmentWriter doesn't properly check the length of external blob IDs
> --------------------------------------------------------------------
>
> Key: OAK-3105
> URL: https://issues.apache.org/jira/browse/OAK-3105
> Project: Jackrabbit Oak
> Issue Type: Bug
> Affects Versions: 1.2.2, 1.3.2, 1.0.17
> Reporter: Francesco Mari
> Assignee: Michael Dürig
> Priority: Critical
> Attachments: OAK-3105-01.patch
>
>
> To store the length field of an external binary ID, the following encoding is used:
> {noformat}
> 1110 + 4bit + 8bit
> {noformat}
> which allows to store numbers between 0 and 2{^}12^ - 1.
> The current implementation of {{SegmentWriter}} allows the length of binary IDs to range between 0 and 2{^}13^ - 1, writing incorrect data when the length of the binary ID ranges from 2{^}12^ to 2{^}13^ - 1.
> When reading this incorrect data back, an {{IllegalStateException}} is thrown complaining that the first byte of the length fields has an unexpected value record type. See OAK-1842 for an example.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)