[
https://issues.apache.org/jira/browse/CASSANDRA-12543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeff Jirsa resolved CASSANDRA-12543.
------------------------------------
Resolution: Fixed
Reviewer: Jeff Jirsa
Fix Version/s: 3.10
3.0.10
Committed as {{9b356409572298373558fe5cc0e249f63c0d3a93}} with an extra fix for
ThriftConversion line 679 (caching.toUpperCase())
> Portability Flaw: Locale Dependent Comparison
> ---------------------------------------------
>
> Key: CASSANDRA-12543
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12543
> Project: Cassandra
> Issue Type: Sub-task
> Reporter: Eduardo Aguinaga
> Priority: Trivial
> Fix For: 3.0.10, 3.10
>
> Attachments: CASSANDRA-12541,12542,12543.patch
>
>
> Overview:
> In May through June of 2016 a static analysis was performed on version 3.0.5
> of the Cassandra source code. The analysis included an automated analysis
> using HP Fortify v4.21 SCA and a manual analysis utilizing SciTools
> Understand v4. The results of that analysis includes the issue below.
> Issue:
> In the file ThriftConversion.java on lines 197 and 679 there is a portability
> problem with the call to toLowerCase() because it has different locales which
> may lead to unexpected output. This may also circumvent custom validation
> routines.
> ThriftConversion.java, lines 197-202:
> {code:java}
> 197 switch (thriftColumnType.toLowerCase())
> 198 {
> 199 case "standard": return false;
> 200 case "super": return true;
> 201 default: throw new
> org.apache.cassandra.exceptions.InvalidRequestException("Invalid column type
> " + thriftColumnType);
> 202 }
> {code}
> ThriftConversion.java, lines 679-691:
> {code:java}
> 679 switch (caching.toUpperCase())
> 680 {
> 681 case "ALL":
> 682 return CachingParams.CACHE_EVERYTHING;
> 683 case "ROWS_ONLY":
> 684 return new CachingParams(false, Integer.MAX_VALUE);
> 685 case "KEYS_ONLY":
> 686 return CachingParams.CACHE_KEYS;
> 687 case "NONE":
> 688 return CachingParams.CACHE_NOTHING;
> 689 default:
> 690 throw new ConfigurationException(String.format("Invalid value %s
> for caching parameter", caching));
> 691 }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)