[ https://issues.apache.org/jira/browse/CASSANDRA-15373?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benedict Elliott Smith updated CASSANDRA-15373: ----------------------------------------------- Status: Ready to Commit (was: Review In Progress) +1 from me > validate value sizes in LegacyLayout > ------------------------------------ > > Key: CASSANDRA-15373 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15373 > Project: Cassandra > Issue Type: Bug > Components: Legacy/Local Write-Read Paths > Reporter: Blake Eggleston > Assignee: Blake Eggleston > Priority: Normal > Fix For: 3.0.19, 3.11.5, 4.0 > > > In 2.1, all values are serialized as variable length blobs, with a length > prefix, followed by the actual value, even with fixed width types like int32. > The 3.0 storage engine, on the other hand, omits the length prefix for fixed > width types. Since the length of fixed width types are not validated on the > 3.0 write path, writing data for a fixed width type from an incorrectly sized > byte buffer will over or underflow the space allocated for it, corrupting the > remainder of that partition or indexed region from being read. This is not > discovered until we attempt to read the corrupted value. This patch updates > LegacyLayout to throw a marshal exception if it encounters an unexpected > value size for fixed size columns. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org