You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Dave Brosius (JIRA)" <ji...@apache.org> on 2016/08/27 18:40:20 UTC

[jira] [Updated] (CASSANDRA-12543) Portability Flaw: Locale Dependent Comparison

     [ https://issues.apache.org/jira/browse/CASSANDRA-12543?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dave Brosius updated CASSANDRA-12543:
-------------------------------------
    Priority: Trivial  (was: Major)

> 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
>
> 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)