cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eduardo Aguinaga (JIRA)" <>
Subject [jira] [Created] (CASSANDRA-12543) Portability Flaw: Locale Dependent Comparison
Date Thu, 25 Aug 2016 17:35:20 GMT
Eduardo Aguinaga created CASSANDRA-12543:

             Summary: Portability Flaw: Locale Dependent Comparison
                 Key: CASSANDRA-12543
             Project: Cassandra
          Issue Type: Sub-task
            Reporter: Eduardo Aguinaga

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.

In the file 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., lines 197-202:
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}, lines 679-691:
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",
691 }

This message was sent by Atlassian JIRA

View raw message