You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by Julian Hyde <jh...@apache.org> on 2017/09/07 17:31:01 UTC
Fwd: New Defects reported by Coverity Scan for julianhyde/calcite
Here is the latest scan. Can someone please review?
Julian
> Begin forwarded message:
>
> From: scan-admin@coverity.com
> Subject: New Defects reported by Coverity Scan for julianhyde/incubator-calcite
> Date: September 7, 2017 at 10:26:37 AM PDT
> To: jhyde@apache.org
>
>
> Hi,
>
> Please find the latest report on new defect(s) introduced to julianhyde/incubator-calcite found with Coverity Scan.
>
> 69 new defect(s) introduced to julianhyde/incubator-calcite found with Coverity Scan.
> 67 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.
>
> New defect(s) Reported-by: Coverity Scan
> Showing 20 of 69 defect(s)
>
>
> ** CID 170823: High impact security (BAD_CERT_VERIFICATION)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 128 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String, int)()
>
>
> ________________________________________________________________________________________________________
> *** CID 170823: High impact security (BAD_CERT_VERIFICATION)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 128 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String, int)()
> 122 return s;
> 123 }
> 124
> 125 @Override public Socket createSocket(String host, int port)
> 126 throws IOException {
> 127 Socket s = createSocket();
>>>> CID 170823: High impact security (BAD_CERT_VERIFICATION)
>>>> "s" used without verifying the hostname of the SSLSession.
> 128 s.connect(new InetSocketAddress(host, port), SO_CONNECT_TIMEOUT);
> 129 return s;
> 130 }
> 131
> 132 @Override public Socket createSocket(InetAddress host, int port)
> 133 throws IOException {
>
> ** CID 170822: Null pointer dereferences (NULL_RETURNS)
> /pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java: 59 in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(java.lang.String)()
>
>
> ________________________________________________________________________________________________________
> *** CID 170822: Null pointer dereferences (NULL_RETURNS)
> /pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java: 59 in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(java.lang.String)()
> 53 + "' USING PigStorage() AS " + schema + ';';
> 54 implementor.addStatement(statement);
> 55 }
> 56
> 57 private PigTable getPigTable(String name) {
> 58 final CalciteSchema schema = getTable().unwrap(org.apache.calcite.jdbc.CalciteSchema.class);
>>>> CID 170822: Null pointer dereferences (NULL_RETURNS)
>>>> Calling a method on null object "schema.getTable(name, false)".
> 59 return (PigTable) schema.getTable(name, false).getTable();
> 60 }
> 61
> 62 private String getSchemaForPigStatement(Implementor implementor) {
> 63 final List<String> fieldNamesAndTypes = new ArrayList<>(
> 64 getTable().getRowType().getFieldList().size());
>
> ** CID 170821: High impact security (BAD_CERT_VERIFICATION)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress, int)()
>
>
> ________________________________________________________________________________________________________
> *** CID 170821: High impact security (BAD_CERT_VERIFICATION)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress, int)()
> 129 return s;
> 130 }
> 131
> 132 @Override public Socket createSocket(InetAddress host, int port)
> 133 throws IOException {
> 134 Socket s = createSocket();
>>>> CID 170821: High impact security (BAD_CERT_VERIFICATION)
>>>> "s" used without verifying the hostname of the SSLSession.
> 135 s.connect(new InetSocketAddress(host, port), SO_CONNECT_TIMEOUT);
> 136 return s;
> 137 }
> 138
> 139 @Override public Socket createSocket(String host, int port, InetAddress local,
> 140 int localPort) throws IOException {
>
> ** CID 170820: (BAD_CERT_VERIFICATION)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress, int, java.net.InetAddress, int)()
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress, int, java.net.InetAddress, int)()
>
>
> ________________________________________________________________________________________________________
> *** CID 170820: (BAD_CERT_VERIFICATION)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress, int, java.net.InetAddress, int)()
> 144 return s;
> 145 }
> 146
> 147 @Override public Socket createSocket(InetAddress host, int port,
> 148 InetAddress local, int localPort) throws IOException {
> 149 Socket s = createSocket();
>>>> CID 170820: (BAD_CERT_VERIFICATION)
>>>> "s" used without verifying the hostname of the SSLSession.
> 150 s.bind(new InetSocketAddress(local, localPort));
> 151 s.connect(new InetSocketAddress(host, port), SO_CONNECT_TIMEOUT);
> 152 return s;
> 153 }
> 154
> 155 /**
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress, int, java.net.InetAddress, int)()
> 145 }
> 146
> 147 @Override public Socket createSocket(InetAddress host, int port,
> 148 InetAddress local, int localPort) throws IOException {
> 149 Socket s = createSocket();
> 150 s.bind(new InetSocketAddress(local, localPort));
>>>> CID 170820: (BAD_CERT_VERIFICATION)
>>>> "s" used without verifying the hostname of the SSLSession.
> 151 s.connect(new InetSocketAddress(host, port), SO_CONNECT_TIMEOUT);
> 152 return s;
> 153 }
> 154
> 155 /**
> 156 * @see javax.net.SocketFactory#getDefault()
>
> ** CID 170819: (BAD_CERT_VERIFICATION)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String, int, java.net.InetAddress, int)()
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 143 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String, int, java.net.InetAddress, int)()
>
>
> ________________________________________________________________________________________________________
> *** CID 170819: (BAD_CERT_VERIFICATION)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String, int, java.net.InetAddress, int)()
> 136 return s;
> 137 }
> 138
> 139 @Override public Socket createSocket(String host, int port, InetAddress local,
> 140 int localPort) throws IOException {
> 141 Socket s = createSocket();
>>>> CID 170819: (BAD_CERT_VERIFICATION)
>>>> "s" used without verifying the hostname of the SSLSession.
> 142 s.bind(new InetSocketAddress(local, localPort));
> 143 s.connect(new InetSocketAddress(host, port), SO_CONNECT_TIMEOUT);
> 144 return s;
> 145 }
> 146
> 147 @Override public Socket createSocket(InetAddress host, int port,
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 143 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String, int, java.net.InetAddress, int)()
> 137 }
> 138
> 139 @Override public Socket createSocket(String host, int port, InetAddress local,
> 140 int localPort) throws IOException {
> 141 Socket s = createSocket();
> 142 s.bind(new InetSocketAddress(local, localPort));
>>>> CID 170819: (BAD_CERT_VERIFICATION)
>>>> "s" used without verifying the hostname of the SSLSession.
> 143 s.connect(new InetSocketAddress(host, port), SO_CONNECT_TIMEOUT);
> 144 return s;
> 145 }
> 146
> 147 @Override public Socket createSocket(InetAddress host, int port,
> 148 InetAddress local, int localPort) throws IOException {
>
> ** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorUtil.java: 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
>
>
> ________________________________________________________________________________________________________
> *** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorUtil.java: 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
> 1001 ArgHandler<SqlNode> argHandler =
> 1002 new CallCopyingArgHandler(call, true);
> 1003 call.getOperator().acceptCall(this, call, false, argHandler);
> 1004 return argHandler.result();
> 1005 }
> 1006
>>>> CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
>>>> Missing call to "org.apache.calcite.sql.util.SqlShuttle.visit(org.apache.calcite.sql.SqlLiteral)" (as is done elsewhere 2 out of 3 times).
> 1007 public SqlNode visit(SqlLiteral literal) {
> 1008 return (SqlNode) literal.clone();
> 1009 }
> 1010
> 1011 public SqlNode visit(SqlIdentifier id) {
> 1012 // First check for builtin functions which don't have parentheses,
>
> ** CID 170804: (NULL_RETURNS)
> /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java: 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone, boolean)()
> /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java: 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone, boolean)()
>
>
> ________________________________________________________________________________________________________
> *** CID 170804: (NULL_RETURNS)
> /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java: 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone, boolean)()
> 213 value1 = literalValue(call.getOperands().get(2), timeZone);
> 214 value2 = literalValue(call.getOperands().get(3), timeZone);
> 215 } else {
> 216 return null;
> 217 }
> 218
>>>> CID 170804: (NULL_RETURNS)
>>>> Calling a method on null object "value1".
> 219 boolean inverted = value1.compareTo(value2) > 0;
> 220 if (!withNot) {
> 221 return ImmutableList.of(
> 222 inverted ? Range.closed(value2, value1) : Range.closed(value1, value2));
> 223 }
> 224 return ImmutableList.of(Range.lessThan(inverted ? value2 : value1),
> /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java: 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone, boolean)()
> 208 {
> 209 final TimestampString value1;
> 210 final TimestampString value2;
> 211 if (literalValue(call.getOperands().get(2), timeZone) != null
> 212 && literalValue(call.getOperands().get(3), timeZone) != null) {
> 213 value1 = literalValue(call.getOperands().get(2), timeZone);
>>>> CID 170804: (NULL_RETURNS)
>>>> Assigning: "value2" = null return value from "literalValue".
> 214 value2 = literalValue(call.getOperands().get(3), timeZone);
> 215 } else {
> 216 return null;
> 217 }
> 218
> 219 boolean inverted = value1.compareTo(value2) > 0;
>
> ** CID 168769: Integer handling issues (BAD_SHIFT)
> /core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandDistinctAggregatesRule.java: 466 in org.apache.calcite.rel.rules.AggregateExpandDistinctAggregatesRule.groupValue(org.apache.calcite.util.ImmutableBitSet, org.apache.calcite.util.ImmutableBitSet)()
>
>
> ________________________________________________________________________________________________________
> *** CID 168769: Integer handling issues (BAD_SHIFT)
> /core/src/main/java/org/apache/calcite/rel/rules/AggregateExpandDistinctAggregatesRule.java: 466 in org.apache.calcite.rel.rules.AggregateExpandDistinctAggregatesRule.groupValue(org.apache.calcite.util.ImmutableBitSet, org.apache.calcite.util.ImmutableBitSet)()
> 460 call.transformTo(relBuilder.build());
> 461 }
> 462
> 463 private static long groupValue(ImmutableBitSet fullGroupSet,
> 464 ImmutableBitSet groupSet) {
> 465 long v = 0;
>>>> CID 168769: Integer handling issues (BAD_SHIFT)
>>>> In expression "1L << fullGroupSet.cardinality() - 1", shifting by a negative amount implicitly performs a bit mask operation on the shift amount. The shift amount, "fullGroupSet.cardinality() - 1", is -1.
> 466 long x = 1L << (fullGroupSet.cardinality() - 1);
> 467 assert fullGroupSet.contains(groupSet);
> 468 for (int i : fullGroupSet) {
> 469 if (!groupSet.get(i)) {
> 470 v |= x;
> 471 }
>
> ** CID 168768: Concurrent data access violations (GUARDED_BY_VIOLATION)
> /core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcSchema.java: 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.apache.calcite.schema.SchemaVersion)()
>
>
> ________________________________________________________________________________________________________
> *** CID 168768: Concurrent data access violations (GUARDED_BY_VIOLATION)
> /core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcSchema.java: 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.apache.calcite.schema.SchemaVersion)()
> 162
> 163 public boolean isMutable() {
> 164 return false;
> 165 }
> 166
> 167 public Schema snapshot(SchemaVersion version) {
>>>> CID 168768: Concurrent data access violations (GUARDED_BY_VIOLATION)
>>>> Accessing "tableMap" without holding lock "JdbcSchema.this". Elsewhere, "org.apache.calcite.adapter.jdbc.JdbcSchema.tableMap" is accessed with "JdbcSchema.this" held 3 out of 4 times.
> 168 return new JdbcSchema(dataSource, dialect, convention, catalog, schema,
> 169 tableMap);
> 170 }
> 171
> 172 // Used by generated code.
> 173 public DataSource getDataSource() {
>
> ** CID 168767: Null pointer dereferences (NULL_RETURNS)
> /elasticsearch2/src/main/java/org/apache/calcite/adapter/elasticsearch2/Elasticsearch2Schema.java: 97 in org.apache.calcite.adapter.elasticsearch2.Elasticsearch2Schema.getTableMap()()
>
>
> ________________________________________________________________________________________________________
> *** CID 168767: Null pointer dereferences (NULL_RETURNS)
> /elasticsearch2/src/main/java/org/apache/calcite/adapter/elasticsearch2/Elasticsearch2Schema.java: 97 in org.apache.calcite.adapter.elasticsearch2.Elasticsearch2Schema.getTableMap()()
> 91
> 92 try {
> 93 GetMappingsResponse response = client.admin().indices()
> 94 .getMappings(new GetMappingsRequest().indices(index))
> 95 .get();
> 96 ImmutableOpenMap<String, MappingMetaData> mapping = response.getMappings().get(index);
>>>> CID 168767: Null pointer dereferences (NULL_RETURNS)
>>>> Calling a method on null object "mapping".
> 97 for (ObjectObjectCursor<String, MappingMetaData> c: mapping) {
> 98 builder.put(c.key, new Elasticsearch2Table(client, index, c.key));
> 99 }
> 100 } catch (RuntimeException e) {
> 101 throw e;
> 102 } catch (Exception e) {
>
> ** CID 163871: Null pointer dereferences (NULL_RETURNS)
> /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java: 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
>
>
> ________________________________________________________________________________________________________
> *** CID 163871: Null pointer dereferences (NULL_RETURNS)
> /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java: 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
> 5693 }
> 5694 if (havingExpr && validator.isAggregate(root)) {
> 5695 return super.visit(id);
> 5696 }
> 5697 expr = stripAs(expr);
> 5698 if (expr instanceof SqlIdentifier) {
>>>> CID 163871: Null pointer dereferences (NULL_RETURNS)
>>>> Calling a method on null object "getScope()".
> 5699 expr = getScope().fullyQualify((SqlIdentifier) expr).identifier;
> 5700 }
> 5701 return expr;
> 5702 }
> 5703 return super.visit(id);
> 5704 }
>
> ** CID 158939: Resource leaks (RESOURCE_LEAK)
> /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java: 145 in org.apache.calcite.adapter.os.SqlShell.run()()
>
>
> ________________________________________________________________________________________________________
> *** CID 158939: Resource leaks (RESOURCE_LEAK)
> /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java: 145 in org.apache.calcite.adapter.os.SqlShell.run()()
> 139 } else {
> 140 throw new RuntimeException("missing format");
> 141 }
> 142 } else if (args.current().equals("-h")
> 143 || args.current().equals("--help")) {
> 144 out.println(help);
>>>> CID 158939: Resource leaks (RESOURCE_LEAK)
>>>> Variable "args" going out of scope leaks the resource it refers to.
> 145 return;
> 146 } else {
> 147 if (b.length() > 0) {
> 148 b.append(' ');
> 149 }
> 150 b.append(args.current());
>
> ** CID 158400: Null pointer dereferences (NULL_RETURNS)
> /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in org.apache.calcite.schema.Schemas.makeContext(org.apache.calcite.jdbc.CalciteConnection, org.apache.calcite.jdbc.CalciteSchema, java.util.List, java.util.List, com.google.common.collect.ImmutableMap)()
>
>
> ________________________________________________________________________________________________________
> *** CID 158400: Null pointer dereferences (NULL_RETURNS)
> /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in org.apache.calcite.schema.Schemas.makeContext(org.apache.calcite.jdbc.CalciteConnection, org.apache.calcite.jdbc.CalciteSchema, java.util.List, java.util.List, com.google.common.collect.ImmutableMap)()
> 364 private static CalcitePrepare.Context makeContext(
> 365 CalciteConnection connection, CalciteSchema schema,
> 366 List<String> schemaPath, List<String> objectPath,
> 367 final ImmutableMap<CalciteConnectionProperty, String> propValues) {
> 368 if (connection == null) {
> 369 final CalcitePrepare.Context context0 = CalcitePrepare.Dummy.peek();
>>>> CID 158400: Null pointer dereferences (NULL_RETURNS)
>>>> Calling a method on null object "context0".
> 370 final CalciteConnectionConfig config =
> 371 mutate(context0.config(), propValues);
> 372 return makeContext(config, context0.getTypeFactory(),
> 373 context0.getDataContext(), schema, schemaPath, objectPath);
> 374 } else {
> 375 final CalciteConnectionConfig config =
>
> ** CID 145626: Null pointer dereferences (NULL_RETURNS)
> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java: 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery, org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin, org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet, java.util.List, boolean)()
>
>
> ________________________________________________________________________________________________________
> *** CID 145626: Null pointer dereferences (NULL_RETURNS)
> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java: 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery, org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin, org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet, java.util.List, boolean)()
> 1050 // If there are no constraints as to which side the factor must
> 1051 // be pushed, arbitrarily push to the left. In the case of a
> 1052 // self-join, always push to the input that contains the other
> 1053 // half of the self-join.
> 1054 if (selfJoin) {
> 1055 BitSet selfJoinFactor = new BitSet(multiJoin.getNumJoinFactors());
>>>> CID 145626: Null pointer dereferences (NULL_RETURNS)
>>>> Unboxing null object "multiJoin.getOtherSelfJoinFactor(factorToAdd)".
> 1056 selfJoinFactor.set(multiJoin.getOtherSelfJoinFactor(factorToAdd));
> 1057 if (multiJoin.hasAllFactors(left, selfJoinFactor)) {
> 1058 childNo = 0;
> 1059 } else {
> 1060 assert multiJoin.hasAllFactors(right, selfJoinFactor);
> 1061 childNo = 1;
>
> ** CID 145625: (FORWARD_NULL)
> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java: 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery, org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin, org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java: 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery, org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin, org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
>
>
> ________________________________________________________________________________________________________
> *** CID 145625: (FORWARD_NULL)
> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java: 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery, org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin, org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> 671 private LoptJoinTree createOrdering(
> 672 RelMetadataQuery mq,
> 673 RelBuilder relBuilder,
> 674 LoptMultiJoin multiJoin,
> 675 LoptSemiJoinOptimizer semiJoinOpt,
> 676 int firstFactor) {
>>>> CID 145625: (FORWARD_NULL)
>>>> Assigning: "joinTree" = "null".
> 677 LoptJoinTree joinTree = null;
> 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
> 679 final BitSet factorsToAdd = BitSets.range(0, nJoinFactors);
> 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
> 681 final List<RexNode> filtersToAdd =
> 682 new ArrayList<>(multiJoin.getJoinFilters());
> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java: 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery, org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin, org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> 671 private LoptJoinTree createOrdering(
> 672 RelMetadataQuery mq,
> 673 RelBuilder relBuilder,
> 674 LoptMultiJoin multiJoin,
> 675 LoptSemiJoinOptimizer semiJoinOpt,
> 676 int firstFactor) {
>>>> CID 145625: (FORWARD_NULL)
>>>> Assigning: "joinTree" = "null".
> 677 LoptJoinTree joinTree = null;
> 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
> 679 final BitSet factorsToAdd = BitSets.range(0, nJoinFactors);
> 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
> 681 final List<RexNode> filtersToAdd =
> 682 new ArrayList<>(multiJoin.getJoinFilters());
>
> ** CID 142184: (FORWARD_NULL)
>
>
> ________________________________________________________________________________________________________
> *** CID 142184: (FORWARD_NULL)
> /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java: 391 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.visit(org.apache.calcite.rel.core.Match)()
> 385
> 386 SqlNode tableRef = x.asQueryOrValues();
> 387
> 388 final List<SqlNode> partitionSqlList = new ArrayList<>();
> 389 if (e.getPartitionKeys() != null) {
> 390 for (RexNode rex : e.getPartitionKeys()) {
>>>> CID 142184: (FORWARD_NULL)
>>>> Passing "null" to "toSql", which dereferences it. (The virtual call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.Context.toSql".)
> 391 SqlNode sqlNode = context.toSql(null, rex);
> 392 partitionSqlList.add(sqlNode);
> 393 }
> 394 }
> 395 final SqlNodeList partitionList = new SqlNodeList(partitionSqlList, POS);
> 396
> /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java: 428 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.visit(org.apache.calcite.rel.core.Match)()
> 422 RexCall call = (RexCall) e.getAfter();
> 423 String operand = RexLiteral.stringValue(call.getOperands().get(0));
> 424 after = call.getOperator().createCall(POS, new SqlIdentifier(operand, POS));
> 425 }
> 426
> 427 RexNode rexPattern = e.getPattern();
>>>> CID 142184: (FORWARD_NULL)
>>>> Passing "null" to "toSql", which dereferences it. (The virtual call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.Context.toSql".)
> 428 final SqlNode pattern = context.toSql(null, rexPattern);
> 429 final SqlLiteral strictStart = SqlLiteral.createBoolean(e.isStrictStart(), POS);
> 430 final SqlLiteral strictEnd = SqlLiteral.createBoolean(e.isStrictEnd(), POS);
> 431
> 432 RexLiteral rexInterval = (RexLiteral) e.getInterval();
> 433 SqlIntervalLiteral interval = null;
> /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java: 453 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.visit(org.apache.calcite.rel.core.Match)()
> 447 new SqlNodeList(rhl, POS)));
> 448 }
> 449
> 450 final SqlNodeList measureList = new SqlNodeList(POS);
> 451 for (Map.Entry<String, RexNode> entry : e.getMeasures().entrySet()) {
> 452 final String alias = entry.getKey();
>>>> CID 142184: (FORWARD_NULL)
>>>> Passing "null" to "toSql", which dereferences it. (The virtual call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.Context.toSql".)
> 453 final SqlNode sqlNode = context.toSql(null, entry.getValue());
> 454 measureList.add(as(sqlNode, alias));
> 455 }
> 456
> 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
> 458 for (Map.Entry<String, RexNode> entry : e.getPatternDefinitions().entrySet()) {
> /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java: 460 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.visit(org.apache.calcite.rel.core.Match)()
> 454 measureList.add(as(sqlNode, alias));
> 455 }
> 456
> 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
> 458 for (Map.Entry<String, RexNode> entry : e.getPatternDefinitions().entrySet()) {
> 459 final String alias = entry.getKey();
>>>> CID 142184: (FORWARD_NULL)
>>>> Passing "null" to "toSql", which dereferences it. (The virtual call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.Context.toSql".)
> 460 final SqlNode sqlNode = context.toSql(null, entry.getValue());
> 461 patternDefList.add(as(sqlNode, alias));
> 462 }
> 463
> 464 final SqlNode matchRecognize = new SqlMatchRecognize(POS, tableRef,
> 465 pattern, strictStart, strictEnd, patternDefList, measureList, after,
>
> ** CID 141870: Null pointer dereferences (NULL_RETURNS)
> /core/src/main/java/org/apache/calcite/rel/rules/DateRangeRules.java: 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.visitList(java.util.List, boolean[])()
>
>
> ________________________________________________________________________________________________________
> *** CID 141870: Null pointer dereferences (NULL_RETURNS)
> /core/src/main/java/org/apache/calcite/rel/rules/DateRangeRules.java: 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.visitList(java.util.List, boolean[])()
> 245
> 246 @Override protected List<RexNode> visitList(List<? extends RexNode> exprs,
> 247 boolean[] update) {
> 248 if (exprs.isEmpty()) {
> 249 return ImmutableList.of(); // a bit more efficient
> 250 }
>>>> CID 141870: Null pointer dereferences (NULL_RETURNS)
>>>> Calling a method on null object "calls.peek()".
> 251 switch (calls.peek().getKind()) {
> 252 case AND:
> 253 return super.visitList(exprs, update);
> 254 default:
> 255 final Map<String, RangeSet<Calendar>> save =
> 256 ImmutableMap.copyOf(operandRanges);
>
> ** CID 141868: Null pointer dereferences (NULL_RETURNS)
> /file/src/main/java/org/apache/calcite/adapter/file/FileReader.java: 98 in org.apache.calcite.adapter.file.FileReader.getSelectedTable(org.jsoup.nodes.Document, java.lang.String)()
>
>
> ________________________________________________________________________________________________________
> *** CID 141868: Null pointer dereferences (NULL_RETURNS)
> /file/src/main/java/org/apache/calcite/adapter/file/FileReader.java: 98 in org.apache.calcite.adapter.file.FileReader.getSelectedTable(org.jsoup.nodes.Document, java.lang.String)()
> 92 el = list.first();
> 93 } else {
> 94 el = list.get(this.index);
> 95 }
> 96
> 97 // verify element is a table
>>>> CID 141868: Null pointer dereferences (NULL_RETURNS)
>>>> Calling a method on null object "el".
> 98 if (el.tag().getName().equals("table")) {
> 99 return el;
> 100 } else {
> 101 throw new FileReaderException("selected (" + selector + ") element is a "
> 102 + el.tag().getName() + ", not a table");
> 103 }
>
> ** CID 140968: Medium impact security (RISKY_CRYPTO)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress, int, java.net.InetAddress, int)()
>
>
> ________________________________________________________________________________________________________
> *** CID 140968: Medium impact security (RISKY_CRYPTO)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress, int, java.net.InetAddress, int)()
> 144 return s;
> 145 }
> 146
> 147 @Override public Socket createSocket(InetAddress host, int port,
> 148 InetAddress local, int localPort) throws IOException {
> 149 Socket s = createSocket();
>>>> CID 140968: Medium impact security (RISKY_CRYPTO)
>>>> Establishing an SSL connection using the default SSL protocols will enable SSLv3, which is known to be insecure. An attacker may be able to decrypt and extract sensitive data that is transmitted over the network.
> 150 s.bind(new InetSocketAddress(local, localPort));
> 151 s.connect(new InetSocketAddress(host, port), SO_CONNECT_TIMEOUT);
> 152 return s;
> 153 }
> 154
> 155 /**
>
> ** CID 140967: Medium impact security (RISKY_CRYPTO)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String, int, java.net.InetAddress, int)()
>
>
> ________________________________________________________________________________________________________
> *** CID 140967: Medium impact security (RISKY_CRYPTO)
> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java: 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String, int, java.net.InetAddress, int)()
> 136 return s;
> 137 }
> 138
> 139 @Override public Socket createSocket(String host, int port, InetAddress local,
> 140 int localPort) throws IOException {
> 141 Socket s = createSocket();
>>>> CID 140967: Medium impact security (RISKY_CRYPTO)
>>>> Establishing an SSL connection using the default SSL protocols will enable SSLv3, which is known to be insecure. An attacker may be able to decrypt and extract sensitive data that is transmitted over the network.
> 142 s.bind(new InetSocketAddress(local, localPort));
> 143 s.connect(new InetSocketAddress(host, port), SO_CONNECT_TIMEOUT);
> 144 return s;
> 145 }
> 146
> 147 @Override public Socket createSocket(InetAddress host, int port,
>
>
> ________________________________________________________________________________________________________
> To view the defects in Coverity Scan visit, https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRan3op15YHpCm8RcaPivZnSHnoLqw-2B7ufyYzK-2FxYZh70RsHioxilEcykXThc-2FHAC1vCuZqr481udaDNO-2B26EkwN_imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-2Fi0pV0DPPfm4SGJYexCZjnQThoTMj-2B1lY4Ew4Mlfambj37PzDaTQBnEOoLCTuARKZ88KKnstjXmpziSkivAmmTx5wbAznnKDKFe2tqamNSZLseGUXmhXcrsTPo5fgFIyZwefMU7qtttO8qJUu2i80WbtA0ctnTRJYvRg-3D-3D
>
> To manage Coverity Scan email notifications for "jhyde@apache.org", click https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbVDbis712qZDP-2FA8y06Nq4BoCAgQyGZbR5Ka-2BtqPkbMIRa0EKakQx2V3qCI3AQ17qSid0ChoOurTSf7RECs1gZeliKSiqSYFeQV5NHgws1sYYu5KfGgq-2FqD0AylqtLo7E-3D_imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-2Fi0pV0DPPfm4SG-2Bljg-2FHVngtY7oHFBd2XIh-2B5dC8ZsSD3P1gqoWGwRkKH8Aw5vcYciYWgHBtvA-2BKIIIiEp3rwg3NZulLl4KauwqElJdWMUxV5T4DqoXUkBrACt4ogc4tKlb92SEtIXIuH44ov-2BxIp08g5KVzRSZXXvwg-3D-3D
>
Re: New Defects reported by Coverity Scan for julianhyde/calcite
Posted by Michael Mior <mm...@uwaterloo.ca>.
Alas, I'm an unrepentant vim user and I've never really quite gotten the
hang of emacs. Good tip though. Thanks for the invite though. I can access
the project on the web interface now.
--
Michael Mior
mmior@apache.org
2017-09-07 13:51 GMT-04:00 Julian Hyde <jh...@apache.org>:
> Done.
>
> Also, there's an old-school way to navigate to the error locations,
> because the file format looks to be compatible with emacs compile
> mode. It you paste it into an emacs compilation output (or just tell
> emacs to "compile" with "cat errors.txt" as the command), emacs should
> be able to parse it and take you to each line in turn.
>
> Julian
>
>
> On Thu, Sep 7, 2017 at 10:43 AM, Michael Mior <mm...@uwaterloo.ca> wrote:
> > I haven't received the message for whatever reason. Perhaps Coverity is
> > having trouble with their email system. Could you instead invite
> > michael.mior@gmail.com? Since I have an existing Coverity account at
> that
> > address, I assume it will just add me to the project.
> >
> > --
> > Michael Mior
> > mmior@apache.org
> >
> > 2017-09-07 13:37 GMT-04:00 Julian Hyde <jh...@apache.org>:
> >
> >> I didn’t (and still don’t) see your request to join. But I just sent an
> >> invitation to mmior@apache.org <ma...@apache.org> to join
> >> https://scan.coverity.com/projects/julianhyde-incubator-calcite.
> >> Hopefully you just got it.
> >>
> >> > On Sep 7, 2017, at 10:34 AM, Michael Mior <mm...@uwaterloo.ca> wrote:
> >> >
> >> > I requested approval some time ago to be added to the project on
> Coverity
> >> > since I find it easier to review things on the web interface. If you
> >> > wouldn't mind approving that, would help.
> >> >
> >> > --
> >> > Michael Mior
> >> > mmior@apache.org
> >> >
> >> > 2017-09-07 13:31 GMT-04:00 Julian Hyde <jh...@apache.org>:
> >> >
> >> >> Here is the latest scan. Can someone please review?
> >> >>
> >> >> Julian
> >> >>
> >> >>
> >> >>> Begin forwarded message:
> >> >>>
> >> >>> From: scan-admin@coverity.com
> >> >>> Subject: New Defects reported by Coverity Scan for
> >> >> julianhyde/incubator-calcite
> >> >>> Date: September 7, 2017 at 10:26:37 AM PDT
> >> >>> To: jhyde@apache.org
> >> >>>
> >> >>>
> >> >>> Hi,
> >> >>>
> >> >>> Please find the latest report on new defect(s) introduced to
> >> >> julianhyde/incubator-calcite found with Coverity Scan.
> >> >>>
> >> >>> 69 new defect(s) introduced to julianhyde/incubator-calcite found
> with
> >> >> Coverity Scan.
> >> >>> 67 defect(s), reported by Coverity Scan earlier, were marked fixed
> in
> >> >> the recent build analyzed by Coverity Scan.
> >> >>>
> >> >>> New defect(s) Reported-by: Coverity Scan
> >> >>> Showing 20 of 69 defect(s)
> >> >>>
> >> >>>
> >> >>> ** CID 170823: High impact security (BAD_CERT_VERIFICATION)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 128 in org.apache.calcite.runtime.SocketFactoryImpl.
> >> createSocket(java.lang.String,
> >> >> int)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 170823: High impact security (BAD_CERT_VERIFICATION)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 128 in org.apache.calcite.runtime.SocketFactoryImpl.
> >> createSocket(java.lang.String,
> >> >> int)()
> >> >>> 122 return s;
> >> >>> 123 }
> >> >>> 124
> >> >>> 125 @Override public Socket createSocket(String host, int
> port)
> >> >>> 126 throws IOException {
> >> >>> 127 Socket s = createSocket();
> >> >>>>>> CID 170823: High impact security (BAD_CERT_VERIFICATION)
> >> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >> >>> 128 s.connect(new InetSocketAddress(host, port),
> >> >> SO_CONNECT_TIMEOUT);
> >> >>> 129 return s;
> >> >>> 130 }
> >> >>> 131
> >> >>> 132 @Override public Socket createSocket(InetAddress host, int
> >> >> port)
> >> >>> 133 throws IOException {
> >> >>>
> >> >>> ** CID 170822: Null pointer dereferences (NULL_RETURNS)
> >> >>> /pig/src/main/java/org/apache/calcite/adapter/pig/
> PigTableScan.java:
> >> 59
> >> >> in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(
> >> >> java.lang.String)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 170822: Null pointer dereferences (NULL_RETURNS)
> >> >>> /pig/src/main/java/org/apache/calcite/adapter/pig/
> PigTableScan.java:
> >> 59
> >> >> in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(
> >> >> java.lang.String)()
> >> >>> 53 + "' USING PigStorage() AS " + schema + ';';
> >> >>> 54 implementor.addStatement(statement);
> >> >>> 55 }
> >> >>> 56
> >> >>> 57 private PigTable getPigTable(String name) {
> >> >>> 58 final CalciteSchema schema =
> getTable().unwrap(org.apache.
> >> >> calcite.jdbc.CalciteSchema.class);
> >> >>>>>> CID 170822: Null pointer dereferences (NULL_RETURNS)
> >> >>>>>> Calling a method on null object "schema.getTable(name, false)".
> >> >>> 59 return (PigTable) schema.getTable(name,
> false).getTable();
> >> >>> 60 }
> >> >>> 61
> >> >>> 62 private String getSchemaForPigStatement(Implementor
> >> >> implementor) {
> >> >>> 63 final List<String> fieldNamesAndTypes = new ArrayList<>(
> >> >>> 64 getTable().getRowType().getFieldList().size());
> >> >>>
> >> >>> ** CID 170821: High impact security (BAD_CERT_VERIFICATION)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> >> java.net.InetAddress,
> >> >> int)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 170821: High impact security (BAD_CERT_VERIFICATION)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> >> java.net.InetAddress,
> >> >> int)()
> >> >>> 129 return s;
> >> >>> 130 }
> >> >>> 131
> >> >>> 132 @Override public Socket createSocket(InetAddress host, int
> >> >> port)
> >> >>> 133 throws IOException {
> >> >>> 134 Socket s = createSocket();
> >> >>>>>> CID 170821: High impact security (BAD_CERT_VERIFICATION)
> >> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >> >>> 135 s.connect(new InetSocketAddress(host, port),
> >> >> SO_CONNECT_TIMEOUT);
> >> >>> 136 return s;
> >> >>> 137 }
> >> >>> 138
> >> >>> 139 @Override public Socket createSocket(String host, int
> port,
> >> >> InetAddress local,
> >> >>> 140 int localPort) throws IOException {
> >> >>>
> >> >>> ** CID 170820: (BAD_CERT_VERIFICATION)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> >> java.net.InetAddress,
> >> >> int, java.net.InetAddress, int)()
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> >> java.net.InetAddress,
> >> >> int, java.net.InetAddress, int)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 170820: (BAD_CERT_VERIFICATION)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> >> java.net.InetAddress,
> >> >> int, java.net.InetAddress, int)()
> >> >>> 144 return s;
> >> >>> 145 }
> >> >>> 146
> >> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> >> port,
> >> >>> 148 InetAddress local, int localPort) throws IOException {
> >> >>> 149 Socket s = createSocket();
> >> >>>>>> CID 170820: (BAD_CERT_VERIFICATION)
> >> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >> >>> 150 s.bind(new InetSocketAddress(local, localPort));
> >> >>> 151 s.connect(new InetSocketAddress(host, port),
> >> >> SO_CONNECT_TIMEOUT);
> >> >>> 152 return s;
> >> >>> 153 }
> >> >>> 154
> >> >>> 155 /**
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> >> java.net.InetAddress,
> >> >> int, java.net.InetAddress, int)()
> >> >>> 145 }
> >> >>> 146
> >> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> >> port,
> >> >>> 148 InetAddress local, int localPort) throws IOException {
> >> >>> 149 Socket s = createSocket();
> >> >>> 150 s.bind(new InetSocketAddress(local, localPort));
> >> >>>>>> CID 170820: (BAD_CERT_VERIFICATION)
> >> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >> >>> 151 s.connect(new InetSocketAddress(host, port),
> >> >> SO_CONNECT_TIMEOUT);
> >> >>> 152 return s;
> >> >>> 153 }
> >> >>> 154
> >> >>> 155 /**
> >> >>> 156 * @see javax.net.SocketFactory#getDefault()
> >> >>>
> >> >>> ** CID 170819: (BAD_CERT_VERIFICATION)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
> >> createSocket(java.lang.String,
> >> >> int, java.net.InetAddress, int)()
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 143 in org.apache.calcite.runtime.SocketFactoryImpl.
> >> createSocket(java.lang.String,
> >> >> int, java.net.InetAddress, int)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 170819: (BAD_CERT_VERIFICATION)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
> >> createSocket(java.lang.String,
> >> >> int, java.net.InetAddress, int)()
> >> >>> 136 return s;
> >> >>> 137 }
> >> >>> 138
> >> >>> 139 @Override public Socket createSocket(String host, int
> port,
> >> >> InetAddress local,
> >> >>> 140 int localPort) throws IOException {
> >> >>> 141 Socket s = createSocket();
> >> >>>>>> CID 170819: (BAD_CERT_VERIFICATION)
> >> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >> >>> 142 s.bind(new InetSocketAddress(local, localPort));
> >> >>> 143 s.connect(new InetSocketAddress(host, port),
> >> >> SO_CONNECT_TIMEOUT);
> >> >>> 144 return s;
> >> >>> 145 }
> >> >>> 146
> >> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> >> port,
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 143 in org.apache.calcite.runtime.SocketFactoryImpl.
> >> createSocket(java.lang.String,
> >> >> int, java.net.InetAddress, int)()
> >> >>> 137 }
> >> >>> 138
> >> >>> 139 @Override public Socket createSocket(String host, int
> port,
> >> >> InetAddress local,
> >> >>> 140 int localPort) throws IOException {
> >> >>> 141 Socket s = createSocket();
> >> >>> 142 s.bind(new InetSocketAddress(local, localPort));
> >> >>>>>> CID 170819: (BAD_CERT_VERIFICATION)
> >> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >> >>> 143 s.connect(new InetSocketAddress(host, port),
> >> >> SO_CONNECT_TIMEOUT);
> >> >>> 144 return s;
> >> >>> 145 }
> >> >>> 146
> >> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> >> port,
> >> >>> 148 InetAddress local, int localPort) throws IOException {
> >> >>>
> >> >>> ** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> >> >>> /core/src/main/java/org/apache/calcite/sql/validate/
> >> SqlValidatorUtil.java:
> >> >> 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$
> >> >> DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> >> >>> /core/src/main/java/org/apache/calcite/sql/validate/
> >> SqlValidatorUtil.java:
> >> >> 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$
> >> >> DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
> >> >>> 1001 ArgHandler<SqlNode> argHandler =
> >> >>> 1002 new CallCopyingArgHandler(call, true);
> >> >>> 1003 call.getOperator().acceptCall(this, call, false,
> >> >> argHandler);
> >> >>> 1004 return argHandler.result();
> >> >>> 1005 }
> >> >>> 1006
> >> >>>>>> CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> >> >>>>>> Missing call to "org.apache.calcite.sql.util.
> >> >> SqlShuttle.visit(org.apache.calcite.sql.SqlLiteral)" (as is done
> >> >> elsewhere 2 out of 3 times).
> >> >>> 1007 public SqlNode visit(SqlLiteral literal) {
> >> >>> 1008 return (SqlNode) literal.clone();
> >> >>> 1009 }
> >> >>> 1010
> >> >>> 1011 public SqlNode visit(SqlIdentifier id) {
> >> >>> 1012 // First check for builtin functions which don't have
> >> >> parentheses,
> >> >>>
> >> >>> ** CID 170804: (NULL_RETURNS)
> >> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
> >> DruidDateTimeUtils.java:
> >> >> 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> >> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> >> >> boolean)()
> >> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
> >> DruidDateTimeUtils.java:
> >> >> 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> >> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> >> >> boolean)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 170804: (NULL_RETURNS)
> >> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
> >> DruidDateTimeUtils.java:
> >> >> 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> >> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> >> >> boolean)()
> >> >>> 213 value1 = literalValue(call.getOperands().get(2),
> >> >> timeZone);
> >> >>> 214 value2 = literalValue(call.getOperands().get(3),
> >> >> timeZone);
> >> >>> 215 } else {
> >> >>> 216 return null;
> >> >>> 217 }
> >> >>> 218
> >> >>>>>> CID 170804: (NULL_RETURNS)
> >> >>>>>> Calling a method on null object "value1".
> >> >>> 219 boolean inverted = value1.compareTo(value2) > 0;
> >> >>> 220 if (!withNot) {
> >> >>> 221 return ImmutableList.of(
> >> >>> 222 inverted ? Range.closed(value2, value1) :
> >> >> Range.closed(value1, value2));
> >> >>> 223 }
> >> >>> 224 return ImmutableList.of(Range.lessThan(inverted ?
> value2
> >> >> : value1),
> >> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
> >> DruidDateTimeUtils.java:
> >> >> 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> >> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> >> >> boolean)()
> >> >>> 208 {
> >> >>> 209 final TimestampString value1;
> >> >>> 210 final TimestampString value2;
> >> >>> 211 if (literalValue(call.getOperands().get(2),
> timeZone) !=
> >> >> null
> >> >>> 212 && literalValue(call.getOperands().get(3),
> timeZone)
> >> >> != null) {
> >> >>> 213 value1 = literalValue(call.getOperands().get(2),
> >> >> timeZone);
> >> >>>>>> CID 170804: (NULL_RETURNS)
> >> >>>>>> Assigning: "value2" = null return value from "literalValue".
> >> >>> 214 value2 = literalValue(call.getOperands().get(3),
> >> >> timeZone);
> >> >>> 215 } else {
> >> >>> 216 return null;
> >> >>> 217 }
> >> >>> 218
> >> >>> 219 boolean inverted = value1.compareTo(value2) > 0;
> >> >>>
> >> >>> ** CID 168769: Integer handling issues (BAD_SHIFT)
> >> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> >> >> AggregateExpandDistinctAggregatesRule.java: 466 in
> >> >> org.apache.calcite.rel.rules.AggregateExpandDistinctAggrega
> >> >> tesRule.groupValue(org.apache.calcite.util.ImmutableBitSet,
> >> >> org.apache.calcite.util.ImmutableBitSet)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 168769: Integer handling issues (BAD_SHIFT)
> >> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> >> >> AggregateExpandDistinctAggregatesRule.java: 466 in
> >> >> org.apache.calcite.rel.rules.AggregateExpandDistinctAggrega
> >> >> tesRule.groupValue(org.apache.calcite.util.ImmutableBitSet,
> >> >> org.apache.calcite.util.ImmutableBitSet)()
> >> >>> 460 call.transformTo(relBuilder.build());
> >> >>> 461 }
> >> >>> 462
> >> >>> 463 private static long groupValue(ImmutableBitSet
> fullGroupSet,
> >> >>> 464 ImmutableBitSet groupSet) {
> >> >>> 465 long v = 0;
> >> >>>>>> CID 168769: Integer handling issues (BAD_SHIFT)
> >> >>>>>> In expression "1L << fullGroupSet.cardinality() - 1", shifting
> by
> >> >> a negative amount implicitly performs a bit mask operation on the
> shift
> >> >> amount. The shift amount, "fullGroupSet.cardinality() - 1", is -1.
> >> >>> 466 long x = 1L << (fullGroupSet.cardinality() - 1);
> >> >>> 467 assert fullGroupSet.contains(groupSet);
> >> >>> 468 for (int i : fullGroupSet) {
> >> >>> 469 if (!groupSet.get(i)) {
> >> >>> 470 v |= x;
> >> >>> 471 }
> >> >>>
> >> >>> ** CID 168768: Concurrent data access violations
> >> (GUARDED_BY_VIOLATION)
> >> >>> /core/src/main/java/org/apache/calcite/adapter/jdbc/
> JdbcSchema.java:
> >> >> 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.
> >> >> apache.calcite.schema.SchemaVersion)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 168768: Concurrent data access violations
> >> >> (GUARDED_BY_VIOLATION)
> >> >>> /core/src/main/java/org/apache/calcite/adapter/jdbc/
> JdbcSchema.java:
> >> >> 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.
> >> >> apache.calcite.schema.SchemaVersion)()
> >> >>> 162
> >> >>> 163 public boolean isMutable() {
> >> >>> 164 return false;
> >> >>> 165 }
> >> >>> 166
> >> >>> 167 public Schema snapshot(SchemaVersion version) {
> >> >>>>>> CID 168768: Concurrent data access violations
> >> >> (GUARDED_BY_VIOLATION)
> >> >>>>>> Accessing "tableMap" without holding lock "JdbcSchema.this".
> >> >> Elsewhere, "org.apache.calcite.adapter.jdbc.JdbcSchema.tableMap" is
> >> >> accessed with "JdbcSchema.this" held 3 out of 4 times.
> >> >>> 168 return new JdbcSchema(dataSource, dialect, convention,
> >> >> catalog, schema,
> >> >>> 169 tableMap);
> >> >>> 170 }
> >> >>> 171
> >> >>> 172 // Used by generated code.
> >> >>> 173 public DataSource getDataSource() {
> >> >>>
> >> >>> ** CID 168767: Null pointer dereferences (NULL_RETURNS)
> >> >>> /elasticsearch2/src/main/java/org/apache/calcite/adapter/
> >> elasticsearch2/Elasticsearch2Schema.java:
> >> >> 97 in org.apache.calcite.adapter.elasticsearch2.
> Elasticsearch2Schema.
> >> >> getTableMap()()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 168767: Null pointer dereferences (NULL_RETURNS)
> >> >>> /elasticsearch2/src/main/java/org/apache/calcite/adapter/
> >> elasticsearch2/Elasticsearch2Schema.java:
> >> >> 97 in org.apache.calcite.adapter.elasticsearch2.
> Elasticsearch2Schema.
> >> >> getTableMap()()
> >> >>> 91
> >> >>> 92 try {
> >> >>> 93 GetMappingsResponse response = client.admin().indices()
> >> >>> 94 .getMappings(new GetMappingsRequest().indices(
> index))
> >> >>> 95 .get();
> >> >>> 96 ImmutableOpenMap<String, MappingMetaData> mapping =
> >> >> response.getMappings().get(index);
> >> >>>>>> CID 168767: Null pointer dereferences (NULL_RETURNS)
> >> >>>>>> Calling a method on null object "mapping".
> >> >>> 97 for (ObjectObjectCursor<String, MappingMetaData> c:
> >> >> mapping) {
> >> >>> 98 builder.put(c.key, new Elasticsearch2Table(client,
> >> index,
> >> >> c.key));
> >> >>> 99 }
> >> >>> 100 } catch (RuntimeException e) {
> >> >>> 101 throw e;
> >> >>> 102 } catch (Exception e) {
> >> >>>
> >> >>> ** CID 163871: Null pointer dereferences (NULL_RETURNS)
> >> >>> /core/src/main/java/org/apache/calcite/sql/validate/
> >> SqlValidatorImpl.java:
> >> >> 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$
> >> >> ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 163871: Null pointer dereferences (NULL_RETURNS)
> >> >>> /core/src/main/java/org/apache/calcite/sql/validate/
> >> SqlValidatorImpl.java:
> >> >> 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$
> >> >> ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
> >> >>> 5693 }
> >> >>> 5694 if (havingExpr && validator.isAggregate(root)) {
> >> >>> 5695 return super.visit(id);
> >> >>> 5696 }
> >> >>> 5697 expr = stripAs(expr);
> >> >>> 5698 if (expr instanceof SqlIdentifier) {
> >> >>>>>> CID 163871: Null pointer dereferences (NULL_RETURNS)
> >> >>>>>> Calling a method on null object "getScope()".
> >> >>> 5699 expr = getScope().fullyQualify((SqlIdentifier)
> >> >> expr).identifier;
> >> >>> 5700 }
> >> >>> 5701 return expr;
> >> >>> 5702 }
> >> >>> 5703 return super.visit(id);
> >> >>> 5704 }
> >> >>>
> >> >>> ** CID 158939: Resource leaks (RESOURCE_LEAK)
> >> >>> /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java:
> 145
> >> in
> >> >> org.apache.calcite.adapter.os.SqlShell.run()()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 158939: Resource leaks (RESOURCE_LEAK)
> >> >>> /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java:
> 145
> >> in
> >> >> org.apache.calcite.adapter.os.SqlShell.run()()
> >> >>> 139 } else {
> >> >>> 140 throw new RuntimeException("missing format");
> >> >>> 141 }
> >> >>> 142 } else if (args.current().equals("-h")
> >> >>> 143 || args.current().equals("--help")) {
> >> >>> 144 out.println(help);
> >> >>>>>> CID 158939: Resource leaks (RESOURCE_LEAK)
> >> >>>>>> Variable "args" going out of scope leaks the resource it refers
> >> to.
> >> >>> 145 return;
> >> >>> 146 } else {
> >> >>> 147 if (b.length() > 0) {
> >> >>> 148 b.append(' ');
> >> >>> 149 }
> >> >>> 150 b.append(args.current());
> >> >>>
> >> >>> ** CID 158400: Null pointer dereferences (NULL_RETURNS)
> >> >>> /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in
> >> >> org.apache.calcite.schema.Schemas.makeContext(org.
> apache.calcite.jdbc.
> >> CalciteConnection,
> >> >> org.apache.calcite.jdbc.CalciteSchema, java.util.List,
> java.util.List,
> >> >> com.google.common.collect.ImmutableMap)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 158400: Null pointer dereferences (NULL_RETURNS)
> >> >>> /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in
> >> >> org.apache.calcite.schema.Schemas.makeContext(org.
> apache.calcite.jdbc.
> >> CalciteConnection,
> >> >> org.apache.calcite.jdbc.CalciteSchema, java.util.List,
> java.util.List,
> >> >> com.google.common.collect.ImmutableMap)()
> >> >>> 364 private static CalcitePrepare.Context makeContext(
> >> >>> 365 CalciteConnection connection, CalciteSchema schema,
> >> >>> 366 List<String> schemaPath, List<String> objectPath,
> >> >>> 367 final ImmutableMap<CalciteConnectionProperty, String>
> >> >> propValues) {
> >> >>> 368 if (connection == null) {
> >> >>> 369 final CalcitePrepare.Context context0 =
> >> >> CalcitePrepare.Dummy.peek();
> >> >>>>>> CID 158400: Null pointer dereferences (NULL_RETURNS)
> >> >>>>>> Calling a method on null object "context0".
> >> >>> 370 final CalciteConnectionConfig config =
> >> >>> 371 mutate(context0.config(), propValues);
> >> >>> 372 return makeContext(config, context0.getTypeFactory(),
> >> >>> 373 context0.getDataContext(), schema, schemaPath,
> >> >> objectPath);
> >> >>> 374 } else {
> >> >>> 375 final CalciteConnectionConfig config =
> >> >>>
> >> >>> ** CID 145626: Null pointer dereferences (NULL_RETURNS)
> >> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> >> LoptOptimizeJoinRule.java:
> >> >> 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> >> pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> >> LoptMultiJoin,
> >> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,
> >> >> org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet,
> >> >> java.util.List, boolean)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 145626: Null pointer dereferences (NULL_RETURNS)
> >> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> >> LoptOptimizeJoinRule.java:
> >> >> 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> >> pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> >> LoptMultiJoin,
> >> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,
> >> >> org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet,
> >> >> java.util.List, boolean)()
> >> >>> 1050 // If there are no constraints as to which side the
> factor
> >> >> must
> >> >>> 1051 // be pushed, arbitrarily push to the left. In the
> case
> >> of
> >> >> a
> >> >>> 1052 // self-join, always push to the input that contains
> the
> >> >> other
> >> >>> 1053 // half of the self-join.
> >> >>> 1054 if (selfJoin) {
> >> >>> 1055 BitSet selfJoinFactor = new BitSet(multiJoin.
> >> >> getNumJoinFactors());
> >> >>>>>> CID 145626: Null pointer dereferences (NULL_RETURNS)
> >> >>>>>> Unboxing null object "multiJoin.getOtherSelfJoinFactor(
> >> >> factorToAdd)".
> >> >>> 1056 selfJoinFactor.set(multiJoin.getOtherSelfJoinFactor(
> >> >> factorToAdd));
> >> >>> 1057 if (multiJoin.hasAllFactors(left, selfJoinFactor)) {
> >> >>> 1058 childNo = 0;
> >> >>> 1059 } else {
> >> >>> 1060 assert multiJoin.hasAllFactors(right,
> selfJoinFactor);
> >> >>> 1061 childNo = 1;
> >> >>>
> >> >>> ** CID 145625: (FORWARD_NULL)
> >> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> >> LoptOptimizeJoinRule.java:
> >> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> >> LoptMultiJoin,
> >> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> >> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> >> LoptOptimizeJoinRule.java:
> >> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> >> LoptMultiJoin,
> >> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 145625: (FORWARD_NULL)
> >> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> >> LoptOptimizeJoinRule.java:
> >> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> >> LoptMultiJoin,
> >> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> >> >>> 671 private LoptJoinTree createOrdering(
> >> >>> 672 RelMetadataQuery mq,
> >> >>> 673 RelBuilder relBuilder,
> >> >>> 674 LoptMultiJoin multiJoin,
> >> >>> 675 LoptSemiJoinOptimizer semiJoinOpt,
> >> >>> 676 int firstFactor) {
> >> >>>>>> CID 145625: (FORWARD_NULL)
> >> >>>>>> Assigning: "joinTree" = "null".
> >> >>> 677 LoptJoinTree joinTree = null;
> >> >>> 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
> >> >>> 679 final BitSet factorsToAdd = BitSets.range(0,
> nJoinFactors);
> >> >>> 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
> >> >>> 681 final List<RexNode> filtersToAdd =
> >> >>> 682 new ArrayList<>(multiJoin.getJoinFilters());
> >> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> >> LoptOptimizeJoinRule.java:
> >> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> >> LoptMultiJoin,
> >> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> >> >>> 671 private LoptJoinTree createOrdering(
> >> >>> 672 RelMetadataQuery mq,
> >> >>> 673 RelBuilder relBuilder,
> >> >>> 674 LoptMultiJoin multiJoin,
> >> >>> 675 LoptSemiJoinOptimizer semiJoinOpt,
> >> >>> 676 int firstFactor) {
> >> >>>>>> CID 145625: (FORWARD_NULL)
> >> >>>>>> Assigning: "joinTree" = "null".
> >> >>> 677 LoptJoinTree joinTree = null;
> >> >>> 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
> >> >>> 679 final BitSet factorsToAdd = BitSets.range(0,
> nJoinFactors);
> >> >>> 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
> >> >>> 681 final List<RexNode> filtersToAdd =
> >> >>> 682 new ArrayList<>(multiJoin.getJoinFilters());
> >> >>>
> >> >>> ** CID 142184: (FORWARD_NULL)
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 142184: (FORWARD_NULL)
> >> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
> >> RelToSqlConverter.java:
> >> >> 391 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> >> >> visit(org.apache.calcite.rel.core.Match)()
> >> >>> 385
> >> >>> 386 SqlNode tableRef = x.asQueryOrValues();
> >> >>> 387
> >> >>> 388 final List<SqlNode> partitionSqlList = new
> ArrayList<>();
> >> >>> 389 if (e.getPartitionKeys() != null) {
> >> >>> 390 for (RexNode rex : e.getPartitionKeys()) {
> >> >>>>>> CID 142184: (FORWARD_NULL)
> >> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
> >> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> >> >> Context.toSql".)
> >> >>> 391 SqlNode sqlNode = context.toSql(null, rex);
> >> >>> 392 partitionSqlList.add(sqlNode);
> >> >>> 393 }
> >> >>> 394 }
> >> >>> 395 final SqlNodeList partitionList = new
> >> >> SqlNodeList(partitionSqlList, POS);
> >> >>> 396
> >> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
> >> RelToSqlConverter.java:
> >> >> 428 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> >> >> visit(org.apache.calcite.rel.core.Match)()
> >> >>> 422 RexCall call = (RexCall) e.getAfter();
> >> >>> 423 String operand = RexLiteral.stringValue(call.
> >> >> getOperands().get(0));
> >> >>> 424 after = call.getOperator().createCall(POS, new
> >> >> SqlIdentifier(operand, POS));
> >> >>> 425 }
> >> >>> 426
> >> >>> 427 RexNode rexPattern = e.getPattern();
> >> >>>>>> CID 142184: (FORWARD_NULL)
> >> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
> >> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> >> >> Context.toSql".)
> >> >>> 428 final SqlNode pattern = context.toSql(null, rexPattern);
> >> >>> 429 final SqlLiteral strictStart =
> SqlLiteral.createBoolean(e.
> >> isStrictStart(),
> >> >> POS);
> >> >>> 430 final SqlLiteral strictEnd = SqlLiteral.createBoolean(e.
> >> isStrictEnd(),
> >> >> POS);
> >> >>> 431
> >> >>> 432 RexLiteral rexInterval = (RexLiteral) e.getInterval();
> >> >>> 433 SqlIntervalLiteral interval = null;
> >> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
> >> RelToSqlConverter.java:
> >> >> 453 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> >> >> visit(org.apache.calcite.rel.core.Match)()
> >> >>> 447 new SqlNodeList(rhl, POS)));
> >> >>> 448 }
> >> >>> 449
> >> >>> 450 final SqlNodeList measureList = new SqlNodeList(POS);
> >> >>> 451 for (Map.Entry<String, RexNode> entry :
> >> >> e.getMeasures().entrySet()) {
> >> >>> 452 final String alias = entry.getKey();
> >> >>>>>> CID 142184: (FORWARD_NULL)
> >> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
> >> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> >> >> Context.toSql".)
> >> >>> 453 final SqlNode sqlNode = context.toSql(null,
> >> >> entry.getValue());
> >> >>> 454 measureList.add(as(sqlNode, alias));
> >> >>> 455 }
> >> >>> 456
> >> >>> 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
> >> >>> 458 for (Map.Entry<String, RexNode> entry :
> >> >> e.getPatternDefinitions().entrySet()) {
> >> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
> >> RelToSqlConverter.java:
> >> >> 460 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> >> >> visit(org.apache.calcite.rel.core.Match)()
> >> >>> 454 measureList.add(as(sqlNode, alias));
> >> >>> 455 }
> >> >>> 456
> >> >>> 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
> >> >>> 458 for (Map.Entry<String, RexNode> entry :
> >> >> e.getPatternDefinitions().entrySet()) {
> >> >>> 459 final String alias = entry.getKey();
> >> >>>>>> CID 142184: (FORWARD_NULL)
> >> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
> >> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> >> >> Context.toSql".)
> >> >>> 460 final SqlNode sqlNode = context.toSql(null,
> >> >> entry.getValue());
> >> >>> 461 patternDefList.add(as(sqlNode, alias));
> >> >>> 462 }
> >> >>> 463
> >> >>> 464 final SqlNode matchRecognize = new
> SqlMatchRecognize(POS,
> >> >> tableRef,
> >> >>> 465 pattern, strictStart, strictEnd, patternDefList,
> >> >> measureList, after,
> >> >>>
> >> >>> ** CID 141870: Null pointer dereferences (NULL_RETURNS)
> >> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> DateRangeRules.java:
> >> >> 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.
> >> visitList(java.util.List,
> >> >> boolean[])()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 141870: Null pointer dereferences (NULL_RETURNS)
> >> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> DateRangeRules.java:
> >> >> 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.
> >> visitList(java.util.List,
> >> >> boolean[])()
> >> >>> 245
> >> >>> 246 @Override protected List<RexNode> visitList(List<?
> extends
> >> >> RexNode> exprs,
> >> >>> 247 boolean[] update) {
> >> >>> 248 if (exprs.isEmpty()) {
> >> >>> 249 return ImmutableList.of(); // a bit more efficient
> >> >>> 250 }
> >> >>>>>> CID 141870: Null pointer dereferences (NULL_RETURNS)
> >> >>>>>> Calling a method on null object "calls.peek()".
> >> >>> 251 switch (calls.peek().getKind()) {
> >> >>> 252 case AND:
> >> >>> 253 return super.visitList(exprs, update);
> >> >>> 254 default:
> >> >>> 255 final Map<String, RangeSet<Calendar>> save =
> >> >>> 256 ImmutableMap.copyOf(operandRanges);
> >> >>>
> >> >>> ** CID 141868: Null pointer dereferences (NULL_RETURNS)
> >> >>> /file/src/main/java/org/apache/calcite/adapter/file/
> FileReader.java:
> >> 98
> >> >> in org.apache.calcite.adapter.file.FileReader.
> >> getSelectedTable(org.jsoup.nodes.Document,
> >> >> java.lang.String)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 141868: Null pointer dereferences (NULL_RETURNS)
> >> >>> /file/src/main/java/org/apache/calcite/adapter/file/
> FileReader.java:
> >> 98
> >> >> in org.apache.calcite.adapter.file.FileReader.
> >> getSelectedTable(org.jsoup.nodes.Document,
> >> >> java.lang.String)()
> >> >>> 92 el = list.first();
> >> >>> 93 } else {
> >> >>> 94 el = list.get(this.index);
> >> >>> 95 }
> >> >>> 96
> >> >>> 97 // verify element is a table
> >> >>>>>> CID 141868: Null pointer dereferences (NULL_RETURNS)
> >> >>>>>> Calling a method on null object "el".
> >> >>> 98 if (el.tag().getName().equals("table")) {
> >> >>> 99 return el;
> >> >>> 100 } else {
> >> >>> 101 throw new FileReaderException("selected (" + selector
> +
> >> ")
> >> >> element is a "
> >> >>> 102 + el.tag().getName() + ", not a table");
> >> >>> 103 }
> >> >>>
> >> >>> ** CID 140968: Medium impact security (RISKY_CRYPTO)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> >> java.net.InetAddress,
> >> >> int, java.net.InetAddress, int)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 140968: Medium impact security (RISKY_CRYPTO)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> >> java.net.InetAddress,
> >> >> int, java.net.InetAddress, int)()
> >> >>> 144 return s;
> >> >>> 145 }
> >> >>> 146
> >> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> >> port,
> >> >>> 148 InetAddress local, int localPort) throws IOException {
> >> >>> 149 Socket s = createSocket();
> >> >>>>>> CID 140968: Medium impact security (RISKY_CRYPTO)
> >> >>>>>> Establishing an SSL connection using the default SSL protocols
> >> >> will enable SSLv3, which is known to be insecure. An attacker may be
> >> able
> >> >> to decrypt and extract sensitive data that is transmitted over the
> >> network.
> >> >>> 150 s.bind(new InetSocketAddress(local, localPort));
> >> >>> 151 s.connect(new InetSocketAddress(host, port),
> >> >> SO_CONNECT_TIMEOUT);
> >> >>> 152 return s;
> >> >>> 153 }
> >> >>> 154
> >> >>> 155 /**
> >> >>>
> >> >>> ** CID 140967: Medium impact security (RISKY_CRYPTO)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
> >> createSocket(java.lang.String,
> >> >> int, java.net.InetAddress, int)()
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> *** CID 140967: Medium impact security (RISKY_CRYPTO)
> >> >>> /core/src/main/java/org/apache/calcite/runtime/
> SocketFactoryImpl.java:
> >> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
> >> createSocket(java.lang.String,
> >> >> int, java.net.InetAddress, int)()
> >> >>> 136 return s;
> >> >>> 137 }
> >> >>> 138
> >> >>> 139 @Override public Socket createSocket(String host, int
> port,
> >> >> InetAddress local,
> >> >>> 140 int localPort) throws IOException {
> >> >>> 141 Socket s = createSocket();
> >> >>>>>> CID 140967: Medium impact security (RISKY_CRYPTO)
> >> >>>>>> Establishing an SSL connection using the default SSL protocols
> >> >> will enable SSLv3, which is known to be insecure. An attacker may be
> >> able
> >> >> to decrypt and extract sensitive data that is transmitted over the
> >> network.
> >> >>> 142 s.bind(new InetSocketAddress(local, localPort));
> >> >>> 143 s.connect(new InetSocketAddress(host, port),
> >> >> SO_CONNECT_TIMEOUT);
> >> >>> 144 return s;
> >> >>> 145 }
> >> >>> 146
> >> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> >> port,
> >> >>>
> >> >>>
> >> >>> ____________________________________________________________
> >> >> ____________________________________________
> >> >>> To view the defects in Coverity Scan visit,
> >> >> https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-
> >> >> 2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRan3op15YHpCm8RcaPivZ
> >> >> nSHnoLqw-2B7ufyYzK-2FxYZh70RsHioxilEcykXThc-2FHAC1vCuZqr481udaDNO-
> >> >> 2B26EkwN_imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-
> >> >> 2Fi0pV0DPPfm4SGJYexCZjnQThoTMj-2B1lY4Ew4Mlfambj37PzDaTQBnEOoL
> >> >> CTuARKZ88KKnstjXmpziSkivAmmTx5wbAznnKDKFe2tqamNSZLseGUXmhXcr
> >> >> sTPo5fgFIyZwefMU7qtttO8qJUu2i80WbtA0ctnTRJYvRg-3D-3D
> >> >>>
> >> >>> To manage Coverity Scan email notifications for "jhyde@apache.org",
> >> >> click https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-
> >> >> 2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbVDbis712qZDP-
> >> >> 2FA8y06Nq4BoCAgQyGZbR5Ka-2BtqPkbMIRa0EKakQx2V3qCI3AQ17q
> >> >> Sid0ChoOurTSf7RECs1gZeliKSiqSYFeQV5NHgws1sYYu5KfGgq-
> 2FqD0AylqtLo7E-3D_
> >> >> imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-
> >> 2Fi0pV0DPPfm4SG-2Bljg-
> >> >> 2FHVngtY7oHFBd2XIh-2B5dC8ZsSD3P1gqoWGwRkKH8Aw5vcYciYWgHBtvA-
> >> >> 2BKIIIiEp3rwg3NZulLl4KauwqElJdWMUxV5T4DqoXUkBrACt4ogc4tKlb92
> >> SEtIXIuH44ov-
> >> >> 2BxIp08g5KVzRSZXXvwg-3D-3D
> >> >>>
> >> >>
> >> >>
> >>
> >>
>
Re: New Defects reported by Coverity Scan for julianhyde/calcite
Posted by Julian Hyde <jh...@apache.org>.
Done.
Also, there's an old-school way to navigate to the error locations,
because the file format looks to be compatible with emacs compile
mode. It you paste it into an emacs compilation output (or just tell
emacs to "compile" with "cat errors.txt" as the command), emacs should
be able to parse it and take you to each line in turn.
Julian
On Thu, Sep 7, 2017 at 10:43 AM, Michael Mior <mm...@uwaterloo.ca> wrote:
> I haven't received the message for whatever reason. Perhaps Coverity is
> having trouble with their email system. Could you instead invite
> michael.mior@gmail.com? Since I have an existing Coverity account at that
> address, I assume it will just add me to the project.
>
> --
> Michael Mior
> mmior@apache.org
>
> 2017-09-07 13:37 GMT-04:00 Julian Hyde <jh...@apache.org>:
>
>> I didn’t (and still don’t) see your request to join. But I just sent an
>> invitation to mmior@apache.org <ma...@apache.org> to join
>> https://scan.coverity.com/projects/julianhyde-incubator-calcite.
>> Hopefully you just got it.
>>
>> > On Sep 7, 2017, at 10:34 AM, Michael Mior <mm...@uwaterloo.ca> wrote:
>> >
>> > I requested approval some time ago to be added to the project on Coverity
>> > since I find it easier to review things on the web interface. If you
>> > wouldn't mind approving that, would help.
>> >
>> > --
>> > Michael Mior
>> > mmior@apache.org
>> >
>> > 2017-09-07 13:31 GMT-04:00 Julian Hyde <jh...@apache.org>:
>> >
>> >> Here is the latest scan. Can someone please review?
>> >>
>> >> Julian
>> >>
>> >>
>> >>> Begin forwarded message:
>> >>>
>> >>> From: scan-admin@coverity.com
>> >>> Subject: New Defects reported by Coverity Scan for
>> >> julianhyde/incubator-calcite
>> >>> Date: September 7, 2017 at 10:26:37 AM PDT
>> >>> To: jhyde@apache.org
>> >>>
>> >>>
>> >>> Hi,
>> >>>
>> >>> Please find the latest report on new defect(s) introduced to
>> >> julianhyde/incubator-calcite found with Coverity Scan.
>> >>>
>> >>> 69 new defect(s) introduced to julianhyde/incubator-calcite found with
>> >> Coverity Scan.
>> >>> 67 defect(s), reported by Coverity Scan earlier, were marked fixed in
>> >> the recent build analyzed by Coverity Scan.
>> >>>
>> >>> New defect(s) Reported-by: Coverity Scan
>> >>> Showing 20 of 69 defect(s)
>> >>>
>> >>>
>> >>> ** CID 170823: High impact security (BAD_CERT_VERIFICATION)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 128 in org.apache.calcite.runtime.SocketFactoryImpl.
>> createSocket(java.lang.String,
>> >> int)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 170823: High impact security (BAD_CERT_VERIFICATION)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 128 in org.apache.calcite.runtime.SocketFactoryImpl.
>> createSocket(java.lang.String,
>> >> int)()
>> >>> 122 return s;
>> >>> 123 }
>> >>> 124
>> >>> 125 @Override public Socket createSocket(String host, int port)
>> >>> 126 throws IOException {
>> >>> 127 Socket s = createSocket();
>> >>>>>> CID 170823: High impact security (BAD_CERT_VERIFICATION)
>> >>>>>> "s" used without verifying the hostname of the SSLSession.
>> >>> 128 s.connect(new InetSocketAddress(host, port),
>> >> SO_CONNECT_TIMEOUT);
>> >>> 129 return s;
>> >>> 130 }
>> >>> 131
>> >>> 132 @Override public Socket createSocket(InetAddress host, int
>> >> port)
>> >>> 133 throws IOException {
>> >>>
>> >>> ** CID 170822: Null pointer dereferences (NULL_RETURNS)
>> >>> /pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java:
>> 59
>> >> in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(
>> >> java.lang.String)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 170822: Null pointer dereferences (NULL_RETURNS)
>> >>> /pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java:
>> 59
>> >> in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(
>> >> java.lang.String)()
>> >>> 53 + "' USING PigStorage() AS " + schema + ';';
>> >>> 54 implementor.addStatement(statement);
>> >>> 55 }
>> >>> 56
>> >>> 57 private PigTable getPigTable(String name) {
>> >>> 58 final CalciteSchema schema = getTable().unwrap(org.apache.
>> >> calcite.jdbc.CalciteSchema.class);
>> >>>>>> CID 170822: Null pointer dereferences (NULL_RETURNS)
>> >>>>>> Calling a method on null object "schema.getTable(name, false)".
>> >>> 59 return (PigTable) schema.getTable(name, false).getTable();
>> >>> 60 }
>> >>> 61
>> >>> 62 private String getSchemaForPigStatement(Implementor
>> >> implementor) {
>> >>> 63 final List<String> fieldNamesAndTypes = new ArrayList<>(
>> >>> 64 getTable().getRowType().getFieldList().size());
>> >>>
>> >>> ** CID 170821: High impact security (BAD_CERT_VERIFICATION)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
>> java.net.InetAddress,
>> >> int)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 170821: High impact security (BAD_CERT_VERIFICATION)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
>> java.net.InetAddress,
>> >> int)()
>> >>> 129 return s;
>> >>> 130 }
>> >>> 131
>> >>> 132 @Override public Socket createSocket(InetAddress host, int
>> >> port)
>> >>> 133 throws IOException {
>> >>> 134 Socket s = createSocket();
>> >>>>>> CID 170821: High impact security (BAD_CERT_VERIFICATION)
>> >>>>>> "s" used without verifying the hostname of the SSLSession.
>> >>> 135 s.connect(new InetSocketAddress(host, port),
>> >> SO_CONNECT_TIMEOUT);
>> >>> 136 return s;
>> >>> 137 }
>> >>> 138
>> >>> 139 @Override public Socket createSocket(String host, int port,
>> >> InetAddress local,
>> >>> 140 int localPort) throws IOException {
>> >>>
>> >>> ** CID 170820: (BAD_CERT_VERIFICATION)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
>> java.net.InetAddress,
>> >> int, java.net.InetAddress, int)()
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
>> java.net.InetAddress,
>> >> int, java.net.InetAddress, int)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 170820: (BAD_CERT_VERIFICATION)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
>> java.net.InetAddress,
>> >> int, java.net.InetAddress, int)()
>> >>> 144 return s;
>> >>> 145 }
>> >>> 146
>> >>> 147 @Override public Socket createSocket(InetAddress host, int
>> >> port,
>> >>> 148 InetAddress local, int localPort) throws IOException {
>> >>> 149 Socket s = createSocket();
>> >>>>>> CID 170820: (BAD_CERT_VERIFICATION)
>> >>>>>> "s" used without verifying the hostname of the SSLSession.
>> >>> 150 s.bind(new InetSocketAddress(local, localPort));
>> >>> 151 s.connect(new InetSocketAddress(host, port),
>> >> SO_CONNECT_TIMEOUT);
>> >>> 152 return s;
>> >>> 153 }
>> >>> 154
>> >>> 155 /**
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
>> java.net.InetAddress,
>> >> int, java.net.InetAddress, int)()
>> >>> 145 }
>> >>> 146
>> >>> 147 @Override public Socket createSocket(InetAddress host, int
>> >> port,
>> >>> 148 InetAddress local, int localPort) throws IOException {
>> >>> 149 Socket s = createSocket();
>> >>> 150 s.bind(new InetSocketAddress(local, localPort));
>> >>>>>> CID 170820: (BAD_CERT_VERIFICATION)
>> >>>>>> "s" used without verifying the hostname of the SSLSession.
>> >>> 151 s.connect(new InetSocketAddress(host, port),
>> >> SO_CONNECT_TIMEOUT);
>> >>> 152 return s;
>> >>> 153 }
>> >>> 154
>> >>> 155 /**
>> >>> 156 * @see javax.net.SocketFactory#getDefault()
>> >>>
>> >>> ** CID 170819: (BAD_CERT_VERIFICATION)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
>> createSocket(java.lang.String,
>> >> int, java.net.InetAddress, int)()
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 143 in org.apache.calcite.runtime.SocketFactoryImpl.
>> createSocket(java.lang.String,
>> >> int, java.net.InetAddress, int)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 170819: (BAD_CERT_VERIFICATION)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
>> createSocket(java.lang.String,
>> >> int, java.net.InetAddress, int)()
>> >>> 136 return s;
>> >>> 137 }
>> >>> 138
>> >>> 139 @Override public Socket createSocket(String host, int port,
>> >> InetAddress local,
>> >>> 140 int localPort) throws IOException {
>> >>> 141 Socket s = createSocket();
>> >>>>>> CID 170819: (BAD_CERT_VERIFICATION)
>> >>>>>> "s" used without verifying the hostname of the SSLSession.
>> >>> 142 s.bind(new InetSocketAddress(local, localPort));
>> >>> 143 s.connect(new InetSocketAddress(host, port),
>> >> SO_CONNECT_TIMEOUT);
>> >>> 144 return s;
>> >>> 145 }
>> >>> 146
>> >>> 147 @Override public Socket createSocket(InetAddress host, int
>> >> port,
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 143 in org.apache.calcite.runtime.SocketFactoryImpl.
>> createSocket(java.lang.String,
>> >> int, java.net.InetAddress, int)()
>> >>> 137 }
>> >>> 138
>> >>> 139 @Override public Socket createSocket(String host, int port,
>> >> InetAddress local,
>> >>> 140 int localPort) throws IOException {
>> >>> 141 Socket s = createSocket();
>> >>> 142 s.bind(new InetSocketAddress(local, localPort));
>> >>>>>> CID 170819: (BAD_CERT_VERIFICATION)
>> >>>>>> "s" used without verifying the hostname of the SSLSession.
>> >>> 143 s.connect(new InetSocketAddress(host, port),
>> >> SO_CONNECT_TIMEOUT);
>> >>> 144 return s;
>> >>> 145 }
>> >>> 146
>> >>> 147 @Override public Socket createSocket(InetAddress host, int
>> >> port,
>> >>> 148 InetAddress local, int localPort) throws IOException {
>> >>>
>> >>> ** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
>> >>> /core/src/main/java/org/apache/calcite/sql/validate/
>> SqlValidatorUtil.java:
>> >> 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$
>> >> DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
>> >>> /core/src/main/java/org/apache/calcite/sql/validate/
>> SqlValidatorUtil.java:
>> >> 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$
>> >> DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
>> >>> 1001 ArgHandler<SqlNode> argHandler =
>> >>> 1002 new CallCopyingArgHandler(call, true);
>> >>> 1003 call.getOperator().acceptCall(this, call, false,
>> >> argHandler);
>> >>> 1004 return argHandler.result();
>> >>> 1005 }
>> >>> 1006
>> >>>>>> CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
>> >>>>>> Missing call to "org.apache.calcite.sql.util.
>> >> SqlShuttle.visit(org.apache.calcite.sql.SqlLiteral)" (as is done
>> >> elsewhere 2 out of 3 times).
>> >>> 1007 public SqlNode visit(SqlLiteral literal) {
>> >>> 1008 return (SqlNode) literal.clone();
>> >>> 1009 }
>> >>> 1010
>> >>> 1011 public SqlNode visit(SqlIdentifier id) {
>> >>> 1012 // First check for builtin functions which don't have
>> >> parentheses,
>> >>>
>> >>> ** CID 170804: (NULL_RETURNS)
>> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
>> DruidDateTimeUtils.java:
>> >> 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
>> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
>> >> boolean)()
>> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
>> DruidDateTimeUtils.java:
>> >> 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
>> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
>> >> boolean)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 170804: (NULL_RETURNS)
>> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
>> DruidDateTimeUtils.java:
>> >> 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
>> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
>> >> boolean)()
>> >>> 213 value1 = literalValue(call.getOperands().get(2),
>> >> timeZone);
>> >>> 214 value2 = literalValue(call.getOperands().get(3),
>> >> timeZone);
>> >>> 215 } else {
>> >>> 216 return null;
>> >>> 217 }
>> >>> 218
>> >>>>>> CID 170804: (NULL_RETURNS)
>> >>>>>> Calling a method on null object "value1".
>> >>> 219 boolean inverted = value1.compareTo(value2) > 0;
>> >>> 220 if (!withNot) {
>> >>> 221 return ImmutableList.of(
>> >>> 222 inverted ? Range.closed(value2, value1) :
>> >> Range.closed(value1, value2));
>> >>> 223 }
>> >>> 224 return ImmutableList.of(Range.lessThan(inverted ? value2
>> >> : value1),
>> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
>> DruidDateTimeUtils.java:
>> >> 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
>> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
>> >> boolean)()
>> >>> 208 {
>> >>> 209 final TimestampString value1;
>> >>> 210 final TimestampString value2;
>> >>> 211 if (literalValue(call.getOperands().get(2), timeZone) !=
>> >> null
>> >>> 212 && literalValue(call.getOperands().get(3), timeZone)
>> >> != null) {
>> >>> 213 value1 = literalValue(call.getOperands().get(2),
>> >> timeZone);
>> >>>>>> CID 170804: (NULL_RETURNS)
>> >>>>>> Assigning: "value2" = null return value from "literalValue".
>> >>> 214 value2 = literalValue(call.getOperands().get(3),
>> >> timeZone);
>> >>> 215 } else {
>> >>> 216 return null;
>> >>> 217 }
>> >>> 218
>> >>> 219 boolean inverted = value1.compareTo(value2) > 0;
>> >>>
>> >>> ** CID 168769: Integer handling issues (BAD_SHIFT)
>> >>> /core/src/main/java/org/apache/calcite/rel/rules/
>> >> AggregateExpandDistinctAggregatesRule.java: 466 in
>> >> org.apache.calcite.rel.rules.AggregateExpandDistinctAggrega
>> >> tesRule.groupValue(org.apache.calcite.util.ImmutableBitSet,
>> >> org.apache.calcite.util.ImmutableBitSet)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 168769: Integer handling issues (BAD_SHIFT)
>> >>> /core/src/main/java/org/apache/calcite/rel/rules/
>> >> AggregateExpandDistinctAggregatesRule.java: 466 in
>> >> org.apache.calcite.rel.rules.AggregateExpandDistinctAggrega
>> >> tesRule.groupValue(org.apache.calcite.util.ImmutableBitSet,
>> >> org.apache.calcite.util.ImmutableBitSet)()
>> >>> 460 call.transformTo(relBuilder.build());
>> >>> 461 }
>> >>> 462
>> >>> 463 private static long groupValue(ImmutableBitSet fullGroupSet,
>> >>> 464 ImmutableBitSet groupSet) {
>> >>> 465 long v = 0;
>> >>>>>> CID 168769: Integer handling issues (BAD_SHIFT)
>> >>>>>> In expression "1L << fullGroupSet.cardinality() - 1", shifting by
>> >> a negative amount implicitly performs a bit mask operation on the shift
>> >> amount. The shift amount, "fullGroupSet.cardinality() - 1", is -1.
>> >>> 466 long x = 1L << (fullGroupSet.cardinality() - 1);
>> >>> 467 assert fullGroupSet.contains(groupSet);
>> >>> 468 for (int i : fullGroupSet) {
>> >>> 469 if (!groupSet.get(i)) {
>> >>> 470 v |= x;
>> >>> 471 }
>> >>>
>> >>> ** CID 168768: Concurrent data access violations
>> (GUARDED_BY_VIOLATION)
>> >>> /core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcSchema.java:
>> >> 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.
>> >> apache.calcite.schema.SchemaVersion)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 168768: Concurrent data access violations
>> >> (GUARDED_BY_VIOLATION)
>> >>> /core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcSchema.java:
>> >> 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.
>> >> apache.calcite.schema.SchemaVersion)()
>> >>> 162
>> >>> 163 public boolean isMutable() {
>> >>> 164 return false;
>> >>> 165 }
>> >>> 166
>> >>> 167 public Schema snapshot(SchemaVersion version) {
>> >>>>>> CID 168768: Concurrent data access violations
>> >> (GUARDED_BY_VIOLATION)
>> >>>>>> Accessing "tableMap" without holding lock "JdbcSchema.this".
>> >> Elsewhere, "org.apache.calcite.adapter.jdbc.JdbcSchema.tableMap" is
>> >> accessed with "JdbcSchema.this" held 3 out of 4 times.
>> >>> 168 return new JdbcSchema(dataSource, dialect, convention,
>> >> catalog, schema,
>> >>> 169 tableMap);
>> >>> 170 }
>> >>> 171
>> >>> 172 // Used by generated code.
>> >>> 173 public DataSource getDataSource() {
>> >>>
>> >>> ** CID 168767: Null pointer dereferences (NULL_RETURNS)
>> >>> /elasticsearch2/src/main/java/org/apache/calcite/adapter/
>> elasticsearch2/Elasticsearch2Schema.java:
>> >> 97 in org.apache.calcite.adapter.elasticsearch2.Elasticsearch2Schema.
>> >> getTableMap()()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 168767: Null pointer dereferences (NULL_RETURNS)
>> >>> /elasticsearch2/src/main/java/org/apache/calcite/adapter/
>> elasticsearch2/Elasticsearch2Schema.java:
>> >> 97 in org.apache.calcite.adapter.elasticsearch2.Elasticsearch2Schema.
>> >> getTableMap()()
>> >>> 91
>> >>> 92 try {
>> >>> 93 GetMappingsResponse response = client.admin().indices()
>> >>> 94 .getMappings(new GetMappingsRequest().indices(index))
>> >>> 95 .get();
>> >>> 96 ImmutableOpenMap<String, MappingMetaData> mapping =
>> >> response.getMappings().get(index);
>> >>>>>> CID 168767: Null pointer dereferences (NULL_RETURNS)
>> >>>>>> Calling a method on null object "mapping".
>> >>> 97 for (ObjectObjectCursor<String, MappingMetaData> c:
>> >> mapping) {
>> >>> 98 builder.put(c.key, new Elasticsearch2Table(client,
>> index,
>> >> c.key));
>> >>> 99 }
>> >>> 100 } catch (RuntimeException e) {
>> >>> 101 throw e;
>> >>> 102 } catch (Exception e) {
>> >>>
>> >>> ** CID 163871: Null pointer dereferences (NULL_RETURNS)
>> >>> /core/src/main/java/org/apache/calcite/sql/validate/
>> SqlValidatorImpl.java:
>> >> 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$
>> >> ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 163871: Null pointer dereferences (NULL_RETURNS)
>> >>> /core/src/main/java/org/apache/calcite/sql/validate/
>> SqlValidatorImpl.java:
>> >> 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$
>> >> ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
>> >>> 5693 }
>> >>> 5694 if (havingExpr && validator.isAggregate(root)) {
>> >>> 5695 return super.visit(id);
>> >>> 5696 }
>> >>> 5697 expr = stripAs(expr);
>> >>> 5698 if (expr instanceof SqlIdentifier) {
>> >>>>>> CID 163871: Null pointer dereferences (NULL_RETURNS)
>> >>>>>> Calling a method on null object "getScope()".
>> >>> 5699 expr = getScope().fullyQualify((SqlIdentifier)
>> >> expr).identifier;
>> >>> 5700 }
>> >>> 5701 return expr;
>> >>> 5702 }
>> >>> 5703 return super.visit(id);
>> >>> 5704 }
>> >>>
>> >>> ** CID 158939: Resource leaks (RESOURCE_LEAK)
>> >>> /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java: 145
>> in
>> >> org.apache.calcite.adapter.os.SqlShell.run()()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 158939: Resource leaks (RESOURCE_LEAK)
>> >>> /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java: 145
>> in
>> >> org.apache.calcite.adapter.os.SqlShell.run()()
>> >>> 139 } else {
>> >>> 140 throw new RuntimeException("missing format");
>> >>> 141 }
>> >>> 142 } else if (args.current().equals("-h")
>> >>> 143 || args.current().equals("--help")) {
>> >>> 144 out.println(help);
>> >>>>>> CID 158939: Resource leaks (RESOURCE_LEAK)
>> >>>>>> Variable "args" going out of scope leaks the resource it refers
>> to.
>> >>> 145 return;
>> >>> 146 } else {
>> >>> 147 if (b.length() > 0) {
>> >>> 148 b.append(' ');
>> >>> 149 }
>> >>> 150 b.append(args.current());
>> >>>
>> >>> ** CID 158400: Null pointer dereferences (NULL_RETURNS)
>> >>> /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in
>> >> org.apache.calcite.schema.Schemas.makeContext(org.apache.calcite.jdbc.
>> CalciteConnection,
>> >> org.apache.calcite.jdbc.CalciteSchema, java.util.List, java.util.List,
>> >> com.google.common.collect.ImmutableMap)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 158400: Null pointer dereferences (NULL_RETURNS)
>> >>> /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in
>> >> org.apache.calcite.schema.Schemas.makeContext(org.apache.calcite.jdbc.
>> CalciteConnection,
>> >> org.apache.calcite.jdbc.CalciteSchema, java.util.List, java.util.List,
>> >> com.google.common.collect.ImmutableMap)()
>> >>> 364 private static CalcitePrepare.Context makeContext(
>> >>> 365 CalciteConnection connection, CalciteSchema schema,
>> >>> 366 List<String> schemaPath, List<String> objectPath,
>> >>> 367 final ImmutableMap<CalciteConnectionProperty, String>
>> >> propValues) {
>> >>> 368 if (connection == null) {
>> >>> 369 final CalcitePrepare.Context context0 =
>> >> CalcitePrepare.Dummy.peek();
>> >>>>>> CID 158400: Null pointer dereferences (NULL_RETURNS)
>> >>>>>> Calling a method on null object "context0".
>> >>> 370 final CalciteConnectionConfig config =
>> >>> 371 mutate(context0.config(), propValues);
>> >>> 372 return makeContext(config, context0.getTypeFactory(),
>> >>> 373 context0.getDataContext(), schema, schemaPath,
>> >> objectPath);
>> >>> 374 } else {
>> >>> 375 final CalciteConnectionConfig config =
>> >>>
>> >>> ** CID 145626: Null pointer dereferences (NULL_RETURNS)
>> >>> /core/src/main/java/org/apache/calcite/rel/rules/
>> LoptOptimizeJoinRule.java:
>> >> 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> >> pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
>> LoptMultiJoin,
>> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,
>> >> org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet,
>> >> java.util.List, boolean)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 145626: Null pointer dereferences (NULL_RETURNS)
>> >>> /core/src/main/java/org/apache/calcite/rel/rules/
>> LoptOptimizeJoinRule.java:
>> >> 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> >> pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
>> LoptMultiJoin,
>> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,
>> >> org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet,
>> >> java.util.List, boolean)()
>> >>> 1050 // If there are no constraints as to which side the factor
>> >> must
>> >>> 1051 // be pushed, arbitrarily push to the left. In the case
>> of
>> >> a
>> >>> 1052 // self-join, always push to the input that contains the
>> >> other
>> >>> 1053 // half of the self-join.
>> >>> 1054 if (selfJoin) {
>> >>> 1055 BitSet selfJoinFactor = new BitSet(multiJoin.
>> >> getNumJoinFactors());
>> >>>>>> CID 145626: Null pointer dereferences (NULL_RETURNS)
>> >>>>>> Unboxing null object "multiJoin.getOtherSelfJoinFactor(
>> >> factorToAdd)".
>> >>> 1056 selfJoinFactor.set(multiJoin.getOtherSelfJoinFactor(
>> >> factorToAdd));
>> >>> 1057 if (multiJoin.hasAllFactors(left, selfJoinFactor)) {
>> >>> 1058 childNo = 0;
>> >>> 1059 } else {
>> >>> 1060 assert multiJoin.hasAllFactors(right, selfJoinFactor);
>> >>> 1061 childNo = 1;
>> >>>
>> >>> ** CID 145625: (FORWARD_NULL)
>> >>> /core/src/main/java/org/apache/calcite/rel/rules/
>> LoptOptimizeJoinRule.java:
>> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
>> LoptMultiJoin,
>> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
>> >>> /core/src/main/java/org/apache/calcite/rel/rules/
>> LoptOptimizeJoinRule.java:
>> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
>> LoptMultiJoin,
>> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 145625: (FORWARD_NULL)
>> >>> /core/src/main/java/org/apache/calcite/rel/rules/
>> LoptOptimizeJoinRule.java:
>> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
>> LoptMultiJoin,
>> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
>> >>> 671 private LoptJoinTree createOrdering(
>> >>> 672 RelMetadataQuery mq,
>> >>> 673 RelBuilder relBuilder,
>> >>> 674 LoptMultiJoin multiJoin,
>> >>> 675 LoptSemiJoinOptimizer semiJoinOpt,
>> >>> 676 int firstFactor) {
>> >>>>>> CID 145625: (FORWARD_NULL)
>> >>>>>> Assigning: "joinTree" = "null".
>> >>> 677 LoptJoinTree joinTree = null;
>> >>> 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
>> >>> 679 final BitSet factorsToAdd = BitSets.range(0, nJoinFactors);
>> >>> 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
>> >>> 681 final List<RexNode> filtersToAdd =
>> >>> 682 new ArrayList<>(multiJoin.getJoinFilters());
>> >>> /core/src/main/java/org/apache/calcite/rel/rules/
>> LoptOptimizeJoinRule.java:
>> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
>> LoptMultiJoin,
>> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
>> >>> 671 private LoptJoinTree createOrdering(
>> >>> 672 RelMetadataQuery mq,
>> >>> 673 RelBuilder relBuilder,
>> >>> 674 LoptMultiJoin multiJoin,
>> >>> 675 LoptSemiJoinOptimizer semiJoinOpt,
>> >>> 676 int firstFactor) {
>> >>>>>> CID 145625: (FORWARD_NULL)
>> >>>>>> Assigning: "joinTree" = "null".
>> >>> 677 LoptJoinTree joinTree = null;
>> >>> 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
>> >>> 679 final BitSet factorsToAdd = BitSets.range(0, nJoinFactors);
>> >>> 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
>> >>> 681 final List<RexNode> filtersToAdd =
>> >>> 682 new ArrayList<>(multiJoin.getJoinFilters());
>> >>>
>> >>> ** CID 142184: (FORWARD_NULL)
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 142184: (FORWARD_NULL)
>> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
>> RelToSqlConverter.java:
>> >> 391 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
>> >> visit(org.apache.calcite.rel.core.Match)()
>> >>> 385
>> >>> 386 SqlNode tableRef = x.asQueryOrValues();
>> >>> 387
>> >>> 388 final List<SqlNode> partitionSqlList = new ArrayList<>();
>> >>> 389 if (e.getPartitionKeys() != null) {
>> >>> 390 for (RexNode rex : e.getPartitionKeys()) {
>> >>>>>> CID 142184: (FORWARD_NULL)
>> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
>> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
>> >> Context.toSql".)
>> >>> 391 SqlNode sqlNode = context.toSql(null, rex);
>> >>> 392 partitionSqlList.add(sqlNode);
>> >>> 393 }
>> >>> 394 }
>> >>> 395 final SqlNodeList partitionList = new
>> >> SqlNodeList(partitionSqlList, POS);
>> >>> 396
>> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
>> RelToSqlConverter.java:
>> >> 428 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
>> >> visit(org.apache.calcite.rel.core.Match)()
>> >>> 422 RexCall call = (RexCall) e.getAfter();
>> >>> 423 String operand = RexLiteral.stringValue(call.
>> >> getOperands().get(0));
>> >>> 424 after = call.getOperator().createCall(POS, new
>> >> SqlIdentifier(operand, POS));
>> >>> 425 }
>> >>> 426
>> >>> 427 RexNode rexPattern = e.getPattern();
>> >>>>>> CID 142184: (FORWARD_NULL)
>> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
>> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
>> >> Context.toSql".)
>> >>> 428 final SqlNode pattern = context.toSql(null, rexPattern);
>> >>> 429 final SqlLiteral strictStart = SqlLiteral.createBoolean(e.
>> isStrictStart(),
>> >> POS);
>> >>> 430 final SqlLiteral strictEnd = SqlLiteral.createBoolean(e.
>> isStrictEnd(),
>> >> POS);
>> >>> 431
>> >>> 432 RexLiteral rexInterval = (RexLiteral) e.getInterval();
>> >>> 433 SqlIntervalLiteral interval = null;
>> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
>> RelToSqlConverter.java:
>> >> 453 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
>> >> visit(org.apache.calcite.rel.core.Match)()
>> >>> 447 new SqlNodeList(rhl, POS)));
>> >>> 448 }
>> >>> 449
>> >>> 450 final SqlNodeList measureList = new SqlNodeList(POS);
>> >>> 451 for (Map.Entry<String, RexNode> entry :
>> >> e.getMeasures().entrySet()) {
>> >>> 452 final String alias = entry.getKey();
>> >>>>>> CID 142184: (FORWARD_NULL)
>> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
>> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
>> >> Context.toSql".)
>> >>> 453 final SqlNode sqlNode = context.toSql(null,
>> >> entry.getValue());
>> >>> 454 measureList.add(as(sqlNode, alias));
>> >>> 455 }
>> >>> 456
>> >>> 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
>> >>> 458 for (Map.Entry<String, RexNode> entry :
>> >> e.getPatternDefinitions().entrySet()) {
>> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
>> RelToSqlConverter.java:
>> >> 460 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
>> >> visit(org.apache.calcite.rel.core.Match)()
>> >>> 454 measureList.add(as(sqlNode, alias));
>> >>> 455 }
>> >>> 456
>> >>> 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
>> >>> 458 for (Map.Entry<String, RexNode> entry :
>> >> e.getPatternDefinitions().entrySet()) {
>> >>> 459 final String alias = entry.getKey();
>> >>>>>> CID 142184: (FORWARD_NULL)
>> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
>> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
>> >> Context.toSql".)
>> >>> 460 final SqlNode sqlNode = context.toSql(null,
>> >> entry.getValue());
>> >>> 461 patternDefList.add(as(sqlNode, alias));
>> >>> 462 }
>> >>> 463
>> >>> 464 final SqlNode matchRecognize = new SqlMatchRecognize(POS,
>> >> tableRef,
>> >>> 465 pattern, strictStart, strictEnd, patternDefList,
>> >> measureList, after,
>> >>>
>> >>> ** CID 141870: Null pointer dereferences (NULL_RETURNS)
>> >>> /core/src/main/java/org/apache/calcite/rel/rules/DateRangeRules.java:
>> >> 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.
>> visitList(java.util.List,
>> >> boolean[])()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 141870: Null pointer dereferences (NULL_RETURNS)
>> >>> /core/src/main/java/org/apache/calcite/rel/rules/DateRangeRules.java:
>> >> 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.
>> visitList(java.util.List,
>> >> boolean[])()
>> >>> 245
>> >>> 246 @Override protected List<RexNode> visitList(List<? extends
>> >> RexNode> exprs,
>> >>> 247 boolean[] update) {
>> >>> 248 if (exprs.isEmpty()) {
>> >>> 249 return ImmutableList.of(); // a bit more efficient
>> >>> 250 }
>> >>>>>> CID 141870: Null pointer dereferences (NULL_RETURNS)
>> >>>>>> Calling a method on null object "calls.peek()".
>> >>> 251 switch (calls.peek().getKind()) {
>> >>> 252 case AND:
>> >>> 253 return super.visitList(exprs, update);
>> >>> 254 default:
>> >>> 255 final Map<String, RangeSet<Calendar>> save =
>> >>> 256 ImmutableMap.copyOf(operandRanges);
>> >>>
>> >>> ** CID 141868: Null pointer dereferences (NULL_RETURNS)
>> >>> /file/src/main/java/org/apache/calcite/adapter/file/FileReader.java:
>> 98
>> >> in org.apache.calcite.adapter.file.FileReader.
>> getSelectedTable(org.jsoup.nodes.Document,
>> >> java.lang.String)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 141868: Null pointer dereferences (NULL_RETURNS)
>> >>> /file/src/main/java/org/apache/calcite/adapter/file/FileReader.java:
>> 98
>> >> in org.apache.calcite.adapter.file.FileReader.
>> getSelectedTable(org.jsoup.nodes.Document,
>> >> java.lang.String)()
>> >>> 92 el = list.first();
>> >>> 93 } else {
>> >>> 94 el = list.get(this.index);
>> >>> 95 }
>> >>> 96
>> >>> 97 // verify element is a table
>> >>>>>> CID 141868: Null pointer dereferences (NULL_RETURNS)
>> >>>>>> Calling a method on null object "el".
>> >>> 98 if (el.tag().getName().equals("table")) {
>> >>> 99 return el;
>> >>> 100 } else {
>> >>> 101 throw new FileReaderException("selected (" + selector +
>> ")
>> >> element is a "
>> >>> 102 + el.tag().getName() + ", not a table");
>> >>> 103 }
>> >>>
>> >>> ** CID 140968: Medium impact security (RISKY_CRYPTO)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
>> java.net.InetAddress,
>> >> int, java.net.InetAddress, int)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 140968: Medium impact security (RISKY_CRYPTO)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
>> java.net.InetAddress,
>> >> int, java.net.InetAddress, int)()
>> >>> 144 return s;
>> >>> 145 }
>> >>> 146
>> >>> 147 @Override public Socket createSocket(InetAddress host, int
>> >> port,
>> >>> 148 InetAddress local, int localPort) throws IOException {
>> >>> 149 Socket s = createSocket();
>> >>>>>> CID 140968: Medium impact security (RISKY_CRYPTO)
>> >>>>>> Establishing an SSL connection using the default SSL protocols
>> >> will enable SSLv3, which is known to be insecure. An attacker may be
>> able
>> >> to decrypt and extract sensitive data that is transmitted over the
>> network.
>> >>> 150 s.bind(new InetSocketAddress(local, localPort));
>> >>> 151 s.connect(new InetSocketAddress(host, port),
>> >> SO_CONNECT_TIMEOUT);
>> >>> 152 return s;
>> >>> 153 }
>> >>> 154
>> >>> 155 /**
>> >>>
>> >>> ** CID 140967: Medium impact security (RISKY_CRYPTO)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
>> createSocket(java.lang.String,
>> >> int, java.net.InetAddress, int)()
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> *** CID 140967: Medium impact security (RISKY_CRYPTO)
>> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
>> createSocket(java.lang.String,
>> >> int, java.net.InetAddress, int)()
>> >>> 136 return s;
>> >>> 137 }
>> >>> 138
>> >>> 139 @Override public Socket createSocket(String host, int port,
>> >> InetAddress local,
>> >>> 140 int localPort) throws IOException {
>> >>> 141 Socket s = createSocket();
>> >>>>>> CID 140967: Medium impact security (RISKY_CRYPTO)
>> >>>>>> Establishing an SSL connection using the default SSL protocols
>> >> will enable SSLv3, which is known to be insecure. An attacker may be
>> able
>> >> to decrypt and extract sensitive data that is transmitted over the
>> network.
>> >>> 142 s.bind(new InetSocketAddress(local, localPort));
>> >>> 143 s.connect(new InetSocketAddress(host, port),
>> >> SO_CONNECT_TIMEOUT);
>> >>> 144 return s;
>> >>> 145 }
>> >>> 146
>> >>> 147 @Override public Socket createSocket(InetAddress host, int
>> >> port,
>> >>>
>> >>>
>> >>> ____________________________________________________________
>> >> ____________________________________________
>> >>> To view the defects in Coverity Scan visit,
>> >> https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-
>> >> 2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRan3op15YHpCm8RcaPivZ
>> >> nSHnoLqw-2B7ufyYzK-2FxYZh70RsHioxilEcykXThc-2FHAC1vCuZqr481udaDNO-
>> >> 2B26EkwN_imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-
>> >> 2Fi0pV0DPPfm4SGJYexCZjnQThoTMj-2B1lY4Ew4Mlfambj37PzDaTQBnEOoL
>> >> CTuARKZ88KKnstjXmpziSkivAmmTx5wbAznnKDKFe2tqamNSZLseGUXmhXcr
>> >> sTPo5fgFIyZwefMU7qtttO8qJUu2i80WbtA0ctnTRJYvRg-3D-3D
>> >>>
>> >>> To manage Coverity Scan email notifications for "jhyde@apache.org",
>> >> click https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-
>> >> 2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbVDbis712qZDP-
>> >> 2FA8y06Nq4BoCAgQyGZbR5Ka-2BtqPkbMIRa0EKakQx2V3qCI3AQ17q
>> >> Sid0ChoOurTSf7RECs1gZeliKSiqSYFeQV5NHgws1sYYu5KfGgq-2FqD0AylqtLo7E-3D_
>> >> imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-
>> 2Fi0pV0DPPfm4SG-2Bljg-
>> >> 2FHVngtY7oHFBd2XIh-2B5dC8ZsSD3P1gqoWGwRkKH8Aw5vcYciYWgHBtvA-
>> >> 2BKIIIiEp3rwg3NZulLl4KauwqElJdWMUxV5T4DqoXUkBrACt4ogc4tKlb92
>> SEtIXIuH44ov-
>> >> 2BxIp08g5KVzRSZXXvwg-3D-3D
>> >>>
>> >>
>> >>
>>
>>
Re: New Defects reported by Coverity Scan for julianhyde/calcite
Posted by Michael Mior <mm...@uwaterloo.ca>.
I haven't received the message for whatever reason. Perhaps Coverity is
having trouble with their email system. Could you instead invite
michael.mior@gmail.com? Since I have an existing Coverity account at that
address, I assume it will just add me to the project.
--
Michael Mior
mmior@apache.org
2017-09-07 13:37 GMT-04:00 Julian Hyde <jh...@apache.org>:
> I didn’t (and still don’t) see your request to join. But I just sent an
> invitation to mmior@apache.org <ma...@apache.org> to join
> https://scan.coverity.com/projects/julianhyde-incubator-calcite.
> Hopefully you just got it.
>
> > On Sep 7, 2017, at 10:34 AM, Michael Mior <mm...@uwaterloo.ca> wrote:
> >
> > I requested approval some time ago to be added to the project on Coverity
> > since I find it easier to review things on the web interface. If you
> > wouldn't mind approving that, would help.
> >
> > --
> > Michael Mior
> > mmior@apache.org
> >
> > 2017-09-07 13:31 GMT-04:00 Julian Hyde <jh...@apache.org>:
> >
> >> Here is the latest scan. Can someone please review?
> >>
> >> Julian
> >>
> >>
> >>> Begin forwarded message:
> >>>
> >>> From: scan-admin@coverity.com
> >>> Subject: New Defects reported by Coverity Scan for
> >> julianhyde/incubator-calcite
> >>> Date: September 7, 2017 at 10:26:37 AM PDT
> >>> To: jhyde@apache.org
> >>>
> >>>
> >>> Hi,
> >>>
> >>> Please find the latest report on new defect(s) introduced to
> >> julianhyde/incubator-calcite found with Coverity Scan.
> >>>
> >>> 69 new defect(s) introduced to julianhyde/incubator-calcite found with
> >> Coverity Scan.
> >>> 67 defect(s), reported by Coverity Scan earlier, were marked fixed in
> >> the recent build analyzed by Coverity Scan.
> >>>
> >>> New defect(s) Reported-by: Coverity Scan
> >>> Showing 20 of 69 defect(s)
> >>>
> >>>
> >>> ** CID 170823: High impact security (BAD_CERT_VERIFICATION)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 128 in org.apache.calcite.runtime.SocketFactoryImpl.
> createSocket(java.lang.String,
> >> int)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 170823: High impact security (BAD_CERT_VERIFICATION)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 128 in org.apache.calcite.runtime.SocketFactoryImpl.
> createSocket(java.lang.String,
> >> int)()
> >>> 122 return s;
> >>> 123 }
> >>> 124
> >>> 125 @Override public Socket createSocket(String host, int port)
> >>> 126 throws IOException {
> >>> 127 Socket s = createSocket();
> >>>>>> CID 170823: High impact security (BAD_CERT_VERIFICATION)
> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >>> 128 s.connect(new InetSocketAddress(host, port),
> >> SO_CONNECT_TIMEOUT);
> >>> 129 return s;
> >>> 130 }
> >>> 131
> >>> 132 @Override public Socket createSocket(InetAddress host, int
> >> port)
> >>> 133 throws IOException {
> >>>
> >>> ** CID 170822: Null pointer dereferences (NULL_RETURNS)
> >>> /pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java:
> 59
> >> in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(
> >> java.lang.String)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 170822: Null pointer dereferences (NULL_RETURNS)
> >>> /pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java:
> 59
> >> in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(
> >> java.lang.String)()
> >>> 53 + "' USING PigStorage() AS " + schema + ';';
> >>> 54 implementor.addStatement(statement);
> >>> 55 }
> >>> 56
> >>> 57 private PigTable getPigTable(String name) {
> >>> 58 final CalciteSchema schema = getTable().unwrap(org.apache.
> >> calcite.jdbc.CalciteSchema.class);
> >>>>>> CID 170822: Null pointer dereferences (NULL_RETURNS)
> >>>>>> Calling a method on null object "schema.getTable(name, false)".
> >>> 59 return (PigTable) schema.getTable(name, false).getTable();
> >>> 60 }
> >>> 61
> >>> 62 private String getSchemaForPigStatement(Implementor
> >> implementor) {
> >>> 63 final List<String> fieldNamesAndTypes = new ArrayList<>(
> >>> 64 getTable().getRowType().getFieldList().size());
> >>>
> >>> ** CID 170821: High impact security (BAD_CERT_VERIFICATION)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> java.net.InetAddress,
> >> int)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 170821: High impact security (BAD_CERT_VERIFICATION)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> java.net.InetAddress,
> >> int)()
> >>> 129 return s;
> >>> 130 }
> >>> 131
> >>> 132 @Override public Socket createSocket(InetAddress host, int
> >> port)
> >>> 133 throws IOException {
> >>> 134 Socket s = createSocket();
> >>>>>> CID 170821: High impact security (BAD_CERT_VERIFICATION)
> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >>> 135 s.connect(new InetSocketAddress(host, port),
> >> SO_CONNECT_TIMEOUT);
> >>> 136 return s;
> >>> 137 }
> >>> 138
> >>> 139 @Override public Socket createSocket(String host, int port,
> >> InetAddress local,
> >>> 140 int localPort) throws IOException {
> >>>
> >>> ** CID 170820: (BAD_CERT_VERIFICATION)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> java.net.InetAddress,
> >> int, java.net.InetAddress, int)()
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> java.net.InetAddress,
> >> int, java.net.InetAddress, int)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 170820: (BAD_CERT_VERIFICATION)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> java.net.InetAddress,
> >> int, java.net.InetAddress, int)()
> >>> 144 return s;
> >>> 145 }
> >>> 146
> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> port,
> >>> 148 InetAddress local, int localPort) throws IOException {
> >>> 149 Socket s = createSocket();
> >>>>>> CID 170820: (BAD_CERT_VERIFICATION)
> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >>> 150 s.bind(new InetSocketAddress(local, localPort));
> >>> 151 s.connect(new InetSocketAddress(host, port),
> >> SO_CONNECT_TIMEOUT);
> >>> 152 return s;
> >>> 153 }
> >>> 154
> >>> 155 /**
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> java.net.InetAddress,
> >> int, java.net.InetAddress, int)()
> >>> 145 }
> >>> 146
> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> port,
> >>> 148 InetAddress local, int localPort) throws IOException {
> >>> 149 Socket s = createSocket();
> >>> 150 s.bind(new InetSocketAddress(local, localPort));
> >>>>>> CID 170820: (BAD_CERT_VERIFICATION)
> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >>> 151 s.connect(new InetSocketAddress(host, port),
> >> SO_CONNECT_TIMEOUT);
> >>> 152 return s;
> >>> 153 }
> >>> 154
> >>> 155 /**
> >>> 156 * @see javax.net.SocketFactory#getDefault()
> >>>
> >>> ** CID 170819: (BAD_CERT_VERIFICATION)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
> createSocket(java.lang.String,
> >> int, java.net.InetAddress, int)()
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 143 in org.apache.calcite.runtime.SocketFactoryImpl.
> createSocket(java.lang.String,
> >> int, java.net.InetAddress, int)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 170819: (BAD_CERT_VERIFICATION)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
> createSocket(java.lang.String,
> >> int, java.net.InetAddress, int)()
> >>> 136 return s;
> >>> 137 }
> >>> 138
> >>> 139 @Override public Socket createSocket(String host, int port,
> >> InetAddress local,
> >>> 140 int localPort) throws IOException {
> >>> 141 Socket s = createSocket();
> >>>>>> CID 170819: (BAD_CERT_VERIFICATION)
> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >>> 142 s.bind(new InetSocketAddress(local, localPort));
> >>> 143 s.connect(new InetSocketAddress(host, port),
> >> SO_CONNECT_TIMEOUT);
> >>> 144 return s;
> >>> 145 }
> >>> 146
> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> port,
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 143 in org.apache.calcite.runtime.SocketFactoryImpl.
> createSocket(java.lang.String,
> >> int, java.net.InetAddress, int)()
> >>> 137 }
> >>> 138
> >>> 139 @Override public Socket createSocket(String host, int port,
> >> InetAddress local,
> >>> 140 int localPort) throws IOException {
> >>> 141 Socket s = createSocket();
> >>> 142 s.bind(new InetSocketAddress(local, localPort));
> >>>>>> CID 170819: (BAD_CERT_VERIFICATION)
> >>>>>> "s" used without verifying the hostname of the SSLSession.
> >>> 143 s.connect(new InetSocketAddress(host, port),
> >> SO_CONNECT_TIMEOUT);
> >>> 144 return s;
> >>> 145 }
> >>> 146
> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> port,
> >>> 148 InetAddress local, int localPort) throws IOException {
> >>>
> >>> ** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> >>> /core/src/main/java/org/apache/calcite/sql/validate/
> SqlValidatorUtil.java:
> >> 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$
> >> DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> >>> /core/src/main/java/org/apache/calcite/sql/validate/
> SqlValidatorUtil.java:
> >> 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$
> >> DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
> >>> 1001 ArgHandler<SqlNode> argHandler =
> >>> 1002 new CallCopyingArgHandler(call, true);
> >>> 1003 call.getOperator().acceptCall(this, call, false,
> >> argHandler);
> >>> 1004 return argHandler.result();
> >>> 1005 }
> >>> 1006
> >>>>>> CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> >>>>>> Missing call to "org.apache.calcite.sql.util.
> >> SqlShuttle.visit(org.apache.calcite.sql.SqlLiteral)" (as is done
> >> elsewhere 2 out of 3 times).
> >>> 1007 public SqlNode visit(SqlLiteral literal) {
> >>> 1008 return (SqlNode) literal.clone();
> >>> 1009 }
> >>> 1010
> >>> 1011 public SqlNode visit(SqlIdentifier id) {
> >>> 1012 // First check for builtin functions which don't have
> >> parentheses,
> >>>
> >>> ** CID 170804: (NULL_RETURNS)
> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
> DruidDateTimeUtils.java:
> >> 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> >> boolean)()
> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
> DruidDateTimeUtils.java:
> >> 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> >> boolean)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 170804: (NULL_RETURNS)
> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
> DruidDateTimeUtils.java:
> >> 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> >> boolean)()
> >>> 213 value1 = literalValue(call.getOperands().get(2),
> >> timeZone);
> >>> 214 value2 = literalValue(call.getOperands().get(3),
> >> timeZone);
> >>> 215 } else {
> >>> 216 return null;
> >>> 217 }
> >>> 218
> >>>>>> CID 170804: (NULL_RETURNS)
> >>>>>> Calling a method on null object "value1".
> >>> 219 boolean inverted = value1.compareTo(value2) > 0;
> >>> 220 if (!withNot) {
> >>> 221 return ImmutableList.of(
> >>> 222 inverted ? Range.closed(value2, value1) :
> >> Range.closed(value1, value2));
> >>> 223 }
> >>> 224 return ImmutableList.of(Range.lessThan(inverted ? value2
> >> : value1),
> >>> /druid/src/main/java/org/apache/calcite/adapter/druid/
> DruidDateTimeUtils.java:
> >> 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> >> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> >> boolean)()
> >>> 208 {
> >>> 209 final TimestampString value1;
> >>> 210 final TimestampString value2;
> >>> 211 if (literalValue(call.getOperands().get(2), timeZone) !=
> >> null
> >>> 212 && literalValue(call.getOperands().get(3), timeZone)
> >> != null) {
> >>> 213 value1 = literalValue(call.getOperands().get(2),
> >> timeZone);
> >>>>>> CID 170804: (NULL_RETURNS)
> >>>>>> Assigning: "value2" = null return value from "literalValue".
> >>> 214 value2 = literalValue(call.getOperands().get(3),
> >> timeZone);
> >>> 215 } else {
> >>> 216 return null;
> >>> 217 }
> >>> 218
> >>> 219 boolean inverted = value1.compareTo(value2) > 0;
> >>>
> >>> ** CID 168769: Integer handling issues (BAD_SHIFT)
> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> >> AggregateExpandDistinctAggregatesRule.java: 466 in
> >> org.apache.calcite.rel.rules.AggregateExpandDistinctAggrega
> >> tesRule.groupValue(org.apache.calcite.util.ImmutableBitSet,
> >> org.apache.calcite.util.ImmutableBitSet)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 168769: Integer handling issues (BAD_SHIFT)
> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> >> AggregateExpandDistinctAggregatesRule.java: 466 in
> >> org.apache.calcite.rel.rules.AggregateExpandDistinctAggrega
> >> tesRule.groupValue(org.apache.calcite.util.ImmutableBitSet,
> >> org.apache.calcite.util.ImmutableBitSet)()
> >>> 460 call.transformTo(relBuilder.build());
> >>> 461 }
> >>> 462
> >>> 463 private static long groupValue(ImmutableBitSet fullGroupSet,
> >>> 464 ImmutableBitSet groupSet) {
> >>> 465 long v = 0;
> >>>>>> CID 168769: Integer handling issues (BAD_SHIFT)
> >>>>>> In expression "1L << fullGroupSet.cardinality() - 1", shifting by
> >> a negative amount implicitly performs a bit mask operation on the shift
> >> amount. The shift amount, "fullGroupSet.cardinality() - 1", is -1.
> >>> 466 long x = 1L << (fullGroupSet.cardinality() - 1);
> >>> 467 assert fullGroupSet.contains(groupSet);
> >>> 468 for (int i : fullGroupSet) {
> >>> 469 if (!groupSet.get(i)) {
> >>> 470 v |= x;
> >>> 471 }
> >>>
> >>> ** CID 168768: Concurrent data access violations
> (GUARDED_BY_VIOLATION)
> >>> /core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcSchema.java:
> >> 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.
> >> apache.calcite.schema.SchemaVersion)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 168768: Concurrent data access violations
> >> (GUARDED_BY_VIOLATION)
> >>> /core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcSchema.java:
> >> 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.
> >> apache.calcite.schema.SchemaVersion)()
> >>> 162
> >>> 163 public boolean isMutable() {
> >>> 164 return false;
> >>> 165 }
> >>> 166
> >>> 167 public Schema snapshot(SchemaVersion version) {
> >>>>>> CID 168768: Concurrent data access violations
> >> (GUARDED_BY_VIOLATION)
> >>>>>> Accessing "tableMap" without holding lock "JdbcSchema.this".
> >> Elsewhere, "org.apache.calcite.adapter.jdbc.JdbcSchema.tableMap" is
> >> accessed with "JdbcSchema.this" held 3 out of 4 times.
> >>> 168 return new JdbcSchema(dataSource, dialect, convention,
> >> catalog, schema,
> >>> 169 tableMap);
> >>> 170 }
> >>> 171
> >>> 172 // Used by generated code.
> >>> 173 public DataSource getDataSource() {
> >>>
> >>> ** CID 168767: Null pointer dereferences (NULL_RETURNS)
> >>> /elasticsearch2/src/main/java/org/apache/calcite/adapter/
> elasticsearch2/Elasticsearch2Schema.java:
> >> 97 in org.apache.calcite.adapter.elasticsearch2.Elasticsearch2Schema.
> >> getTableMap()()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 168767: Null pointer dereferences (NULL_RETURNS)
> >>> /elasticsearch2/src/main/java/org/apache/calcite/adapter/
> elasticsearch2/Elasticsearch2Schema.java:
> >> 97 in org.apache.calcite.adapter.elasticsearch2.Elasticsearch2Schema.
> >> getTableMap()()
> >>> 91
> >>> 92 try {
> >>> 93 GetMappingsResponse response = client.admin().indices()
> >>> 94 .getMappings(new GetMappingsRequest().indices(index))
> >>> 95 .get();
> >>> 96 ImmutableOpenMap<String, MappingMetaData> mapping =
> >> response.getMappings().get(index);
> >>>>>> CID 168767: Null pointer dereferences (NULL_RETURNS)
> >>>>>> Calling a method on null object "mapping".
> >>> 97 for (ObjectObjectCursor<String, MappingMetaData> c:
> >> mapping) {
> >>> 98 builder.put(c.key, new Elasticsearch2Table(client,
> index,
> >> c.key));
> >>> 99 }
> >>> 100 } catch (RuntimeException e) {
> >>> 101 throw e;
> >>> 102 } catch (Exception e) {
> >>>
> >>> ** CID 163871: Null pointer dereferences (NULL_RETURNS)
> >>> /core/src/main/java/org/apache/calcite/sql/validate/
> SqlValidatorImpl.java:
> >> 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$
> >> ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 163871: Null pointer dereferences (NULL_RETURNS)
> >>> /core/src/main/java/org/apache/calcite/sql/validate/
> SqlValidatorImpl.java:
> >> 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$
> >> ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
> >>> 5693 }
> >>> 5694 if (havingExpr && validator.isAggregate(root)) {
> >>> 5695 return super.visit(id);
> >>> 5696 }
> >>> 5697 expr = stripAs(expr);
> >>> 5698 if (expr instanceof SqlIdentifier) {
> >>>>>> CID 163871: Null pointer dereferences (NULL_RETURNS)
> >>>>>> Calling a method on null object "getScope()".
> >>> 5699 expr = getScope().fullyQualify((SqlIdentifier)
> >> expr).identifier;
> >>> 5700 }
> >>> 5701 return expr;
> >>> 5702 }
> >>> 5703 return super.visit(id);
> >>> 5704 }
> >>>
> >>> ** CID 158939: Resource leaks (RESOURCE_LEAK)
> >>> /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java: 145
> in
> >> org.apache.calcite.adapter.os.SqlShell.run()()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 158939: Resource leaks (RESOURCE_LEAK)
> >>> /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java: 145
> in
> >> org.apache.calcite.adapter.os.SqlShell.run()()
> >>> 139 } else {
> >>> 140 throw new RuntimeException("missing format");
> >>> 141 }
> >>> 142 } else if (args.current().equals("-h")
> >>> 143 || args.current().equals("--help")) {
> >>> 144 out.println(help);
> >>>>>> CID 158939: Resource leaks (RESOURCE_LEAK)
> >>>>>> Variable "args" going out of scope leaks the resource it refers
> to.
> >>> 145 return;
> >>> 146 } else {
> >>> 147 if (b.length() > 0) {
> >>> 148 b.append(' ');
> >>> 149 }
> >>> 150 b.append(args.current());
> >>>
> >>> ** CID 158400: Null pointer dereferences (NULL_RETURNS)
> >>> /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in
> >> org.apache.calcite.schema.Schemas.makeContext(org.apache.calcite.jdbc.
> CalciteConnection,
> >> org.apache.calcite.jdbc.CalciteSchema, java.util.List, java.util.List,
> >> com.google.common.collect.ImmutableMap)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 158400: Null pointer dereferences (NULL_RETURNS)
> >>> /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in
> >> org.apache.calcite.schema.Schemas.makeContext(org.apache.calcite.jdbc.
> CalciteConnection,
> >> org.apache.calcite.jdbc.CalciteSchema, java.util.List, java.util.List,
> >> com.google.common.collect.ImmutableMap)()
> >>> 364 private static CalcitePrepare.Context makeContext(
> >>> 365 CalciteConnection connection, CalciteSchema schema,
> >>> 366 List<String> schemaPath, List<String> objectPath,
> >>> 367 final ImmutableMap<CalciteConnectionProperty, String>
> >> propValues) {
> >>> 368 if (connection == null) {
> >>> 369 final CalcitePrepare.Context context0 =
> >> CalcitePrepare.Dummy.peek();
> >>>>>> CID 158400: Null pointer dereferences (NULL_RETURNS)
> >>>>>> Calling a method on null object "context0".
> >>> 370 final CalciteConnectionConfig config =
> >>> 371 mutate(context0.config(), propValues);
> >>> 372 return makeContext(config, context0.getTypeFactory(),
> >>> 373 context0.getDataContext(), schema, schemaPath,
> >> objectPath);
> >>> 374 } else {
> >>> 375 final CalciteConnectionConfig config =
> >>>
> >>> ** CID 145626: Null pointer dereferences (NULL_RETURNS)
> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> LoptOptimizeJoinRule.java:
> >> 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> LoptMultiJoin,
> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,
> >> org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet,
> >> java.util.List, boolean)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 145626: Null pointer dereferences (NULL_RETURNS)
> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> LoptOptimizeJoinRule.java:
> >> 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> LoptMultiJoin,
> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,
> >> org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet,
> >> java.util.List, boolean)()
> >>> 1050 // If there are no constraints as to which side the factor
> >> must
> >>> 1051 // be pushed, arbitrarily push to the left. In the case
> of
> >> a
> >>> 1052 // self-join, always push to the input that contains the
> >> other
> >>> 1053 // half of the self-join.
> >>> 1054 if (selfJoin) {
> >>> 1055 BitSet selfJoinFactor = new BitSet(multiJoin.
> >> getNumJoinFactors());
> >>>>>> CID 145626: Null pointer dereferences (NULL_RETURNS)
> >>>>>> Unboxing null object "multiJoin.getOtherSelfJoinFactor(
> >> factorToAdd)".
> >>> 1056 selfJoinFactor.set(multiJoin.getOtherSelfJoinFactor(
> >> factorToAdd));
> >>> 1057 if (multiJoin.hasAllFactors(left, selfJoinFactor)) {
> >>> 1058 childNo = 0;
> >>> 1059 } else {
> >>> 1060 assert multiJoin.hasAllFactors(right, selfJoinFactor);
> >>> 1061 childNo = 1;
> >>>
> >>> ** CID 145625: (FORWARD_NULL)
> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> LoptOptimizeJoinRule.java:
> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> LoptMultiJoin,
> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> LoptOptimizeJoinRule.java:
> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> LoptMultiJoin,
> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 145625: (FORWARD_NULL)
> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> LoptOptimizeJoinRule.java:
> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> LoptMultiJoin,
> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> >>> 671 private LoptJoinTree createOrdering(
> >>> 672 RelMetadataQuery mq,
> >>> 673 RelBuilder relBuilder,
> >>> 674 LoptMultiJoin multiJoin,
> >>> 675 LoptSemiJoinOptimizer semiJoinOpt,
> >>> 676 int firstFactor) {
> >>>>>> CID 145625: (FORWARD_NULL)
> >>>>>> Assigning: "joinTree" = "null".
> >>> 677 LoptJoinTree joinTree = null;
> >>> 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
> >>> 679 final BitSet factorsToAdd = BitSets.range(0, nJoinFactors);
> >>> 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
> >>> 681 final List<RexNode> filtersToAdd =
> >>> 682 new ArrayList<>(multiJoin.getJoinFilters());
> >>> /core/src/main/java/org/apache/calcite/rel/rules/
> LoptOptimizeJoinRule.java:
> >> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> >> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> >> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.
> LoptMultiJoin,
> >> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> >>> 671 private LoptJoinTree createOrdering(
> >>> 672 RelMetadataQuery mq,
> >>> 673 RelBuilder relBuilder,
> >>> 674 LoptMultiJoin multiJoin,
> >>> 675 LoptSemiJoinOptimizer semiJoinOpt,
> >>> 676 int firstFactor) {
> >>>>>> CID 145625: (FORWARD_NULL)
> >>>>>> Assigning: "joinTree" = "null".
> >>> 677 LoptJoinTree joinTree = null;
> >>> 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
> >>> 679 final BitSet factorsToAdd = BitSets.range(0, nJoinFactors);
> >>> 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
> >>> 681 final List<RexNode> filtersToAdd =
> >>> 682 new ArrayList<>(multiJoin.getJoinFilters());
> >>>
> >>> ** CID 142184: (FORWARD_NULL)
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 142184: (FORWARD_NULL)
> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
> RelToSqlConverter.java:
> >> 391 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> >> visit(org.apache.calcite.rel.core.Match)()
> >>> 385
> >>> 386 SqlNode tableRef = x.asQueryOrValues();
> >>> 387
> >>> 388 final List<SqlNode> partitionSqlList = new ArrayList<>();
> >>> 389 if (e.getPartitionKeys() != null) {
> >>> 390 for (RexNode rex : e.getPartitionKeys()) {
> >>>>>> CID 142184: (FORWARD_NULL)
> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> >> Context.toSql".)
> >>> 391 SqlNode sqlNode = context.toSql(null, rex);
> >>> 392 partitionSqlList.add(sqlNode);
> >>> 393 }
> >>> 394 }
> >>> 395 final SqlNodeList partitionList = new
> >> SqlNodeList(partitionSqlList, POS);
> >>> 396
> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
> RelToSqlConverter.java:
> >> 428 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> >> visit(org.apache.calcite.rel.core.Match)()
> >>> 422 RexCall call = (RexCall) e.getAfter();
> >>> 423 String operand = RexLiteral.stringValue(call.
> >> getOperands().get(0));
> >>> 424 after = call.getOperator().createCall(POS, new
> >> SqlIdentifier(operand, POS));
> >>> 425 }
> >>> 426
> >>> 427 RexNode rexPattern = e.getPattern();
> >>>>>> CID 142184: (FORWARD_NULL)
> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> >> Context.toSql".)
> >>> 428 final SqlNode pattern = context.toSql(null, rexPattern);
> >>> 429 final SqlLiteral strictStart = SqlLiteral.createBoolean(e.
> isStrictStart(),
> >> POS);
> >>> 430 final SqlLiteral strictEnd = SqlLiteral.createBoolean(e.
> isStrictEnd(),
> >> POS);
> >>> 431
> >>> 432 RexLiteral rexInterval = (RexLiteral) e.getInterval();
> >>> 433 SqlIntervalLiteral interval = null;
> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
> RelToSqlConverter.java:
> >> 453 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> >> visit(org.apache.calcite.rel.core.Match)()
> >>> 447 new SqlNodeList(rhl, POS)));
> >>> 448 }
> >>> 449
> >>> 450 final SqlNodeList measureList = new SqlNodeList(POS);
> >>> 451 for (Map.Entry<String, RexNode> entry :
> >> e.getMeasures().entrySet()) {
> >>> 452 final String alias = entry.getKey();
> >>>>>> CID 142184: (FORWARD_NULL)
> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> >> Context.toSql".)
> >>> 453 final SqlNode sqlNode = context.toSql(null,
> >> entry.getValue());
> >>> 454 measureList.add(as(sqlNode, alias));
> >>> 455 }
> >>> 456
> >>> 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
> >>> 458 for (Map.Entry<String, RexNode> entry :
> >> e.getPatternDefinitions().entrySet()) {
> >>> /core/src/main/java/org/apache/calcite/rel/rel2sql/
> RelToSqlConverter.java:
> >> 460 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> >> visit(org.apache.calcite.rel.core.Match)()
> >>> 454 measureList.add(as(sqlNode, alias));
> >>> 455 }
> >>> 456
> >>> 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
> >>> 458 for (Map.Entry<String, RexNode> entry :
> >> e.getPatternDefinitions().entrySet()) {
> >>> 459 final String alias = entry.getKey();
> >>>>>> CID 142184: (FORWARD_NULL)
> >>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
> >> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> >> Context.toSql".)
> >>> 460 final SqlNode sqlNode = context.toSql(null,
> >> entry.getValue());
> >>> 461 patternDefList.add(as(sqlNode, alias));
> >>> 462 }
> >>> 463
> >>> 464 final SqlNode matchRecognize = new SqlMatchRecognize(POS,
> >> tableRef,
> >>> 465 pattern, strictStart, strictEnd, patternDefList,
> >> measureList, after,
> >>>
> >>> ** CID 141870: Null pointer dereferences (NULL_RETURNS)
> >>> /core/src/main/java/org/apache/calcite/rel/rules/DateRangeRules.java:
> >> 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.
> visitList(java.util.List,
> >> boolean[])()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 141870: Null pointer dereferences (NULL_RETURNS)
> >>> /core/src/main/java/org/apache/calcite/rel/rules/DateRangeRules.java:
> >> 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.
> visitList(java.util.List,
> >> boolean[])()
> >>> 245
> >>> 246 @Override protected List<RexNode> visitList(List<? extends
> >> RexNode> exprs,
> >>> 247 boolean[] update) {
> >>> 248 if (exprs.isEmpty()) {
> >>> 249 return ImmutableList.of(); // a bit more efficient
> >>> 250 }
> >>>>>> CID 141870: Null pointer dereferences (NULL_RETURNS)
> >>>>>> Calling a method on null object "calls.peek()".
> >>> 251 switch (calls.peek().getKind()) {
> >>> 252 case AND:
> >>> 253 return super.visitList(exprs, update);
> >>> 254 default:
> >>> 255 final Map<String, RangeSet<Calendar>> save =
> >>> 256 ImmutableMap.copyOf(operandRanges);
> >>>
> >>> ** CID 141868: Null pointer dereferences (NULL_RETURNS)
> >>> /file/src/main/java/org/apache/calcite/adapter/file/FileReader.java:
> 98
> >> in org.apache.calcite.adapter.file.FileReader.
> getSelectedTable(org.jsoup.nodes.Document,
> >> java.lang.String)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 141868: Null pointer dereferences (NULL_RETURNS)
> >>> /file/src/main/java/org/apache/calcite/adapter/file/FileReader.java:
> 98
> >> in org.apache.calcite.adapter.file.FileReader.
> getSelectedTable(org.jsoup.nodes.Document,
> >> java.lang.String)()
> >>> 92 el = list.first();
> >>> 93 } else {
> >>> 94 el = list.get(this.index);
> >>> 95 }
> >>> 96
> >>> 97 // verify element is a table
> >>>>>> CID 141868: Null pointer dereferences (NULL_RETURNS)
> >>>>>> Calling a method on null object "el".
> >>> 98 if (el.tag().getName().equals("table")) {
> >>> 99 return el;
> >>> 100 } else {
> >>> 101 throw new FileReaderException("selected (" + selector +
> ")
> >> element is a "
> >>> 102 + el.tag().getName() + ", not a table");
> >>> 103 }
> >>>
> >>> ** CID 140968: Medium impact security (RISKY_CRYPTO)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> java.net.InetAddress,
> >> int, java.net.InetAddress, int)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 140968: Medium impact security (RISKY_CRYPTO)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(
> java.net.InetAddress,
> >> int, java.net.InetAddress, int)()
> >>> 144 return s;
> >>> 145 }
> >>> 146
> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> port,
> >>> 148 InetAddress local, int localPort) throws IOException {
> >>> 149 Socket s = createSocket();
> >>>>>> CID 140968: Medium impact security (RISKY_CRYPTO)
> >>>>>> Establishing an SSL connection using the default SSL protocols
> >> will enable SSLv3, which is known to be insecure. An attacker may be
> able
> >> to decrypt and extract sensitive data that is transmitted over the
> network.
> >>> 150 s.bind(new InetSocketAddress(local, localPort));
> >>> 151 s.connect(new InetSocketAddress(host, port),
> >> SO_CONNECT_TIMEOUT);
> >>> 152 return s;
> >>> 153 }
> >>> 154
> >>> 155 /**
> >>>
> >>> ** CID 140967: Medium impact security (RISKY_CRYPTO)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
> createSocket(java.lang.String,
> >> int, java.net.InetAddress, int)()
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> *** CID 140967: Medium impact security (RISKY_CRYPTO)
> >>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> >> 142 in org.apache.calcite.runtime.SocketFactoryImpl.
> createSocket(java.lang.String,
> >> int, java.net.InetAddress, int)()
> >>> 136 return s;
> >>> 137 }
> >>> 138
> >>> 139 @Override public Socket createSocket(String host, int port,
> >> InetAddress local,
> >>> 140 int localPort) throws IOException {
> >>> 141 Socket s = createSocket();
> >>>>>> CID 140967: Medium impact security (RISKY_CRYPTO)
> >>>>>> Establishing an SSL connection using the default SSL protocols
> >> will enable SSLv3, which is known to be insecure. An attacker may be
> able
> >> to decrypt and extract sensitive data that is transmitted over the
> network.
> >>> 142 s.bind(new InetSocketAddress(local, localPort));
> >>> 143 s.connect(new InetSocketAddress(host, port),
> >> SO_CONNECT_TIMEOUT);
> >>> 144 return s;
> >>> 145 }
> >>> 146
> >>> 147 @Override public Socket createSocket(InetAddress host, int
> >> port,
> >>>
> >>>
> >>> ____________________________________________________________
> >> ____________________________________________
> >>> To view the defects in Coverity Scan visit,
> >> https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-
> >> 2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRan3op15YHpCm8RcaPivZ
> >> nSHnoLqw-2B7ufyYzK-2FxYZh70RsHioxilEcykXThc-2FHAC1vCuZqr481udaDNO-
> >> 2B26EkwN_imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-
> >> 2Fi0pV0DPPfm4SGJYexCZjnQThoTMj-2B1lY4Ew4Mlfambj37PzDaTQBnEOoL
> >> CTuARKZ88KKnstjXmpziSkivAmmTx5wbAznnKDKFe2tqamNSZLseGUXmhXcr
> >> sTPo5fgFIyZwefMU7qtttO8qJUu2i80WbtA0ctnTRJYvRg-3D-3D
> >>>
> >>> To manage Coverity Scan email notifications for "jhyde@apache.org",
> >> click https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-
> >> 2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbVDbis712qZDP-
> >> 2FA8y06Nq4BoCAgQyGZbR5Ka-2BtqPkbMIRa0EKakQx2V3qCI3AQ17q
> >> Sid0ChoOurTSf7RECs1gZeliKSiqSYFeQV5NHgws1sYYu5KfGgq-2FqD0AylqtLo7E-3D_
> >> imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-
> 2Fi0pV0DPPfm4SG-2Bljg-
> >> 2FHVngtY7oHFBd2XIh-2B5dC8ZsSD3P1gqoWGwRkKH8Aw5vcYciYWgHBtvA-
> >> 2BKIIIiEp3rwg3NZulLl4KauwqElJdWMUxV5T4DqoXUkBrACt4ogc4tKlb92
> SEtIXIuH44ov-
> >> 2BxIp08g5KVzRSZXXvwg-3D-3D
> >>>
> >>
> >>
>
>
Re: New Defects reported by Coverity Scan for julianhyde/calcite
Posted by Julian Hyde <jh...@apache.org>.
I didn’t (and still don’t) see your request to join. But I just sent an invitation to mmior@apache.org <ma...@apache.org> to join https://scan.coverity.com/projects/julianhyde-incubator-calcite. Hopefully you just got it.
> On Sep 7, 2017, at 10:34 AM, Michael Mior <mm...@uwaterloo.ca> wrote:
>
> I requested approval some time ago to be added to the project on Coverity
> since I find it easier to review things on the web interface. If you
> wouldn't mind approving that, would help.
>
> --
> Michael Mior
> mmior@apache.org
>
> 2017-09-07 13:31 GMT-04:00 Julian Hyde <jh...@apache.org>:
>
>> Here is the latest scan. Can someone please review?
>>
>> Julian
>>
>>
>>> Begin forwarded message:
>>>
>>> From: scan-admin@coverity.com
>>> Subject: New Defects reported by Coverity Scan for
>> julianhyde/incubator-calcite
>>> Date: September 7, 2017 at 10:26:37 AM PDT
>>> To: jhyde@apache.org
>>>
>>>
>>> Hi,
>>>
>>> Please find the latest report on new defect(s) introduced to
>> julianhyde/incubator-calcite found with Coverity Scan.
>>>
>>> 69 new defect(s) introduced to julianhyde/incubator-calcite found with
>> Coverity Scan.
>>> 67 defect(s), reported by Coverity Scan earlier, were marked fixed in
>> the recent build analyzed by Coverity Scan.
>>>
>>> New defect(s) Reported-by: Coverity Scan
>>> Showing 20 of 69 defect(s)
>>>
>>>
>>> ** CID 170823: High impact security (BAD_CERT_VERIFICATION)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 128 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
>> int)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 170823: High impact security (BAD_CERT_VERIFICATION)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 128 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
>> int)()
>>> 122 return s;
>>> 123 }
>>> 124
>>> 125 @Override public Socket createSocket(String host, int port)
>>> 126 throws IOException {
>>> 127 Socket s = createSocket();
>>>>>> CID 170823: High impact security (BAD_CERT_VERIFICATION)
>>>>>> "s" used without verifying the hostname of the SSLSession.
>>> 128 s.connect(new InetSocketAddress(host, port),
>> SO_CONNECT_TIMEOUT);
>>> 129 return s;
>>> 130 }
>>> 131
>>> 132 @Override public Socket createSocket(InetAddress host, int
>> port)
>>> 133 throws IOException {
>>>
>>> ** CID 170822: Null pointer dereferences (NULL_RETURNS)
>>> /pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java: 59
>> in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(
>> java.lang.String)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 170822: Null pointer dereferences (NULL_RETURNS)
>>> /pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java: 59
>> in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(
>> java.lang.String)()
>>> 53 + "' USING PigStorage() AS " + schema + ';';
>>> 54 implementor.addStatement(statement);
>>> 55 }
>>> 56
>>> 57 private PigTable getPigTable(String name) {
>>> 58 final CalciteSchema schema = getTable().unwrap(org.apache.
>> calcite.jdbc.CalciteSchema.class);
>>>>>> CID 170822: Null pointer dereferences (NULL_RETURNS)
>>>>>> Calling a method on null object "schema.getTable(name, false)".
>>> 59 return (PigTable) schema.getTable(name, false).getTable();
>>> 60 }
>>> 61
>>> 62 private String getSchemaForPigStatement(Implementor
>> implementor) {
>>> 63 final List<String> fieldNamesAndTypes = new ArrayList<>(
>>> 64 getTable().getRowType().getFieldList().size());
>>>
>>> ** CID 170821: High impact security (BAD_CERT_VERIFICATION)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
>> int)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 170821: High impact security (BAD_CERT_VERIFICATION)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
>> int)()
>>> 129 return s;
>>> 130 }
>>> 131
>>> 132 @Override public Socket createSocket(InetAddress host, int
>> port)
>>> 133 throws IOException {
>>> 134 Socket s = createSocket();
>>>>>> CID 170821: High impact security (BAD_CERT_VERIFICATION)
>>>>>> "s" used without verifying the hostname of the SSLSession.
>>> 135 s.connect(new InetSocketAddress(host, port),
>> SO_CONNECT_TIMEOUT);
>>> 136 return s;
>>> 137 }
>>> 138
>>> 139 @Override public Socket createSocket(String host, int port,
>> InetAddress local,
>>> 140 int localPort) throws IOException {
>>>
>>> ** CID 170820: (BAD_CERT_VERIFICATION)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
>> int, java.net.InetAddress, int)()
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
>> int, java.net.InetAddress, int)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 170820: (BAD_CERT_VERIFICATION)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
>> int, java.net.InetAddress, int)()
>>> 144 return s;
>>> 145 }
>>> 146
>>> 147 @Override public Socket createSocket(InetAddress host, int
>> port,
>>> 148 InetAddress local, int localPort) throws IOException {
>>> 149 Socket s = createSocket();
>>>>>> CID 170820: (BAD_CERT_VERIFICATION)
>>>>>> "s" used without verifying the hostname of the SSLSession.
>>> 150 s.bind(new InetSocketAddress(local, localPort));
>>> 151 s.connect(new InetSocketAddress(host, port),
>> SO_CONNECT_TIMEOUT);
>>> 152 return s;
>>> 153 }
>>> 154
>>> 155 /**
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
>> int, java.net.InetAddress, int)()
>>> 145 }
>>> 146
>>> 147 @Override public Socket createSocket(InetAddress host, int
>> port,
>>> 148 InetAddress local, int localPort) throws IOException {
>>> 149 Socket s = createSocket();
>>> 150 s.bind(new InetSocketAddress(local, localPort));
>>>>>> CID 170820: (BAD_CERT_VERIFICATION)
>>>>>> "s" used without verifying the hostname of the SSLSession.
>>> 151 s.connect(new InetSocketAddress(host, port),
>> SO_CONNECT_TIMEOUT);
>>> 152 return s;
>>> 153 }
>>> 154
>>> 155 /**
>>> 156 * @see javax.net.SocketFactory#getDefault()
>>>
>>> ** CID 170819: (BAD_CERT_VERIFICATION)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
>> int, java.net.InetAddress, int)()
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 143 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
>> int, java.net.InetAddress, int)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 170819: (BAD_CERT_VERIFICATION)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
>> int, java.net.InetAddress, int)()
>>> 136 return s;
>>> 137 }
>>> 138
>>> 139 @Override public Socket createSocket(String host, int port,
>> InetAddress local,
>>> 140 int localPort) throws IOException {
>>> 141 Socket s = createSocket();
>>>>>> CID 170819: (BAD_CERT_VERIFICATION)
>>>>>> "s" used without verifying the hostname of the SSLSession.
>>> 142 s.bind(new InetSocketAddress(local, localPort));
>>> 143 s.connect(new InetSocketAddress(host, port),
>> SO_CONNECT_TIMEOUT);
>>> 144 return s;
>>> 145 }
>>> 146
>>> 147 @Override public Socket createSocket(InetAddress host, int
>> port,
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 143 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
>> int, java.net.InetAddress, int)()
>>> 137 }
>>> 138
>>> 139 @Override public Socket createSocket(String host, int port,
>> InetAddress local,
>>> 140 int localPort) throws IOException {
>>> 141 Socket s = createSocket();
>>> 142 s.bind(new InetSocketAddress(local, localPort));
>>>>>> CID 170819: (BAD_CERT_VERIFICATION)
>>>>>> "s" used without verifying the hostname of the SSLSession.
>>> 143 s.connect(new InetSocketAddress(host, port),
>> SO_CONNECT_TIMEOUT);
>>> 144 return s;
>>> 145 }
>>> 146
>>> 147 @Override public Socket createSocket(InetAddress host, int
>> port,
>>> 148 InetAddress local, int localPort) throws IOException {
>>>
>>> ** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
>>> /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorUtil.java:
>> 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$
>> DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
>>> /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorUtil.java:
>> 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$
>> DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
>>> 1001 ArgHandler<SqlNode> argHandler =
>>> 1002 new CallCopyingArgHandler(call, true);
>>> 1003 call.getOperator().acceptCall(this, call, false,
>> argHandler);
>>> 1004 return argHandler.result();
>>> 1005 }
>>> 1006
>>>>>> CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
>>>>>> Missing call to "org.apache.calcite.sql.util.
>> SqlShuttle.visit(org.apache.calcite.sql.SqlLiteral)" (as is done
>> elsewhere 2 out of 3 times).
>>> 1007 public SqlNode visit(SqlLiteral literal) {
>>> 1008 return (SqlNode) literal.clone();
>>> 1009 }
>>> 1010
>>> 1011 public SqlNode visit(SqlIdentifier id) {
>>> 1012 // First check for builtin functions which don't have
>> parentheses,
>>>
>>> ** CID 170804: (NULL_RETURNS)
>>> /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java:
>> 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
>> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
>> boolean)()
>>> /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java:
>> 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
>> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
>> boolean)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 170804: (NULL_RETURNS)
>>> /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java:
>> 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
>> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
>> boolean)()
>>> 213 value1 = literalValue(call.getOperands().get(2),
>> timeZone);
>>> 214 value2 = literalValue(call.getOperands().get(3),
>> timeZone);
>>> 215 } else {
>>> 216 return null;
>>> 217 }
>>> 218
>>>>>> CID 170804: (NULL_RETURNS)
>>>>>> Calling a method on null object "value1".
>>> 219 boolean inverted = value1.compareTo(value2) > 0;
>>> 220 if (!withNot) {
>>> 221 return ImmutableList.of(
>>> 222 inverted ? Range.closed(value2, value1) :
>> Range.closed(value1, value2));
>>> 223 }
>>> 224 return ImmutableList.of(Range.lessThan(inverted ? value2
>> : value1),
>>> /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java:
>> 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
>> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
>> boolean)()
>>> 208 {
>>> 209 final TimestampString value1;
>>> 210 final TimestampString value2;
>>> 211 if (literalValue(call.getOperands().get(2), timeZone) !=
>> null
>>> 212 && literalValue(call.getOperands().get(3), timeZone)
>> != null) {
>>> 213 value1 = literalValue(call.getOperands().get(2),
>> timeZone);
>>>>>> CID 170804: (NULL_RETURNS)
>>>>>> Assigning: "value2" = null return value from "literalValue".
>>> 214 value2 = literalValue(call.getOperands().get(3),
>> timeZone);
>>> 215 } else {
>>> 216 return null;
>>> 217 }
>>> 218
>>> 219 boolean inverted = value1.compareTo(value2) > 0;
>>>
>>> ** CID 168769: Integer handling issues (BAD_SHIFT)
>>> /core/src/main/java/org/apache/calcite/rel/rules/
>> AggregateExpandDistinctAggregatesRule.java: 466 in
>> org.apache.calcite.rel.rules.AggregateExpandDistinctAggrega
>> tesRule.groupValue(org.apache.calcite.util.ImmutableBitSet,
>> org.apache.calcite.util.ImmutableBitSet)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 168769: Integer handling issues (BAD_SHIFT)
>>> /core/src/main/java/org/apache/calcite/rel/rules/
>> AggregateExpandDistinctAggregatesRule.java: 466 in
>> org.apache.calcite.rel.rules.AggregateExpandDistinctAggrega
>> tesRule.groupValue(org.apache.calcite.util.ImmutableBitSet,
>> org.apache.calcite.util.ImmutableBitSet)()
>>> 460 call.transformTo(relBuilder.build());
>>> 461 }
>>> 462
>>> 463 private static long groupValue(ImmutableBitSet fullGroupSet,
>>> 464 ImmutableBitSet groupSet) {
>>> 465 long v = 0;
>>>>>> CID 168769: Integer handling issues (BAD_SHIFT)
>>>>>> In expression "1L << fullGroupSet.cardinality() - 1", shifting by
>> a negative amount implicitly performs a bit mask operation on the shift
>> amount. The shift amount, "fullGroupSet.cardinality() - 1", is -1.
>>> 466 long x = 1L << (fullGroupSet.cardinality() - 1);
>>> 467 assert fullGroupSet.contains(groupSet);
>>> 468 for (int i : fullGroupSet) {
>>> 469 if (!groupSet.get(i)) {
>>> 470 v |= x;
>>> 471 }
>>>
>>> ** CID 168768: Concurrent data access violations (GUARDED_BY_VIOLATION)
>>> /core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcSchema.java:
>> 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.
>> apache.calcite.schema.SchemaVersion)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 168768: Concurrent data access violations
>> (GUARDED_BY_VIOLATION)
>>> /core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcSchema.java:
>> 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.
>> apache.calcite.schema.SchemaVersion)()
>>> 162
>>> 163 public boolean isMutable() {
>>> 164 return false;
>>> 165 }
>>> 166
>>> 167 public Schema snapshot(SchemaVersion version) {
>>>>>> CID 168768: Concurrent data access violations
>> (GUARDED_BY_VIOLATION)
>>>>>> Accessing "tableMap" without holding lock "JdbcSchema.this".
>> Elsewhere, "org.apache.calcite.adapter.jdbc.JdbcSchema.tableMap" is
>> accessed with "JdbcSchema.this" held 3 out of 4 times.
>>> 168 return new JdbcSchema(dataSource, dialect, convention,
>> catalog, schema,
>>> 169 tableMap);
>>> 170 }
>>> 171
>>> 172 // Used by generated code.
>>> 173 public DataSource getDataSource() {
>>>
>>> ** CID 168767: Null pointer dereferences (NULL_RETURNS)
>>> /elasticsearch2/src/main/java/org/apache/calcite/adapter/elasticsearch2/Elasticsearch2Schema.java:
>> 97 in org.apache.calcite.adapter.elasticsearch2.Elasticsearch2Schema.
>> getTableMap()()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 168767: Null pointer dereferences (NULL_RETURNS)
>>> /elasticsearch2/src/main/java/org/apache/calcite/adapter/elasticsearch2/Elasticsearch2Schema.java:
>> 97 in org.apache.calcite.adapter.elasticsearch2.Elasticsearch2Schema.
>> getTableMap()()
>>> 91
>>> 92 try {
>>> 93 GetMappingsResponse response = client.admin().indices()
>>> 94 .getMappings(new GetMappingsRequest().indices(index))
>>> 95 .get();
>>> 96 ImmutableOpenMap<String, MappingMetaData> mapping =
>> response.getMappings().get(index);
>>>>>> CID 168767: Null pointer dereferences (NULL_RETURNS)
>>>>>> Calling a method on null object "mapping".
>>> 97 for (ObjectObjectCursor<String, MappingMetaData> c:
>> mapping) {
>>> 98 builder.put(c.key, new Elasticsearch2Table(client, index,
>> c.key));
>>> 99 }
>>> 100 } catch (RuntimeException e) {
>>> 101 throw e;
>>> 102 } catch (Exception e) {
>>>
>>> ** CID 163871: Null pointer dereferences (NULL_RETURNS)
>>> /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java:
>> 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$
>> ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 163871: Null pointer dereferences (NULL_RETURNS)
>>> /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java:
>> 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$
>> ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
>>> 5693 }
>>> 5694 if (havingExpr && validator.isAggregate(root)) {
>>> 5695 return super.visit(id);
>>> 5696 }
>>> 5697 expr = stripAs(expr);
>>> 5698 if (expr instanceof SqlIdentifier) {
>>>>>> CID 163871: Null pointer dereferences (NULL_RETURNS)
>>>>>> Calling a method on null object "getScope()".
>>> 5699 expr = getScope().fullyQualify((SqlIdentifier)
>> expr).identifier;
>>> 5700 }
>>> 5701 return expr;
>>> 5702 }
>>> 5703 return super.visit(id);
>>> 5704 }
>>>
>>> ** CID 158939: Resource leaks (RESOURCE_LEAK)
>>> /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java: 145 in
>> org.apache.calcite.adapter.os.SqlShell.run()()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 158939: Resource leaks (RESOURCE_LEAK)
>>> /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java: 145 in
>> org.apache.calcite.adapter.os.SqlShell.run()()
>>> 139 } else {
>>> 140 throw new RuntimeException("missing format");
>>> 141 }
>>> 142 } else if (args.current().equals("-h")
>>> 143 || args.current().equals("--help")) {
>>> 144 out.println(help);
>>>>>> CID 158939: Resource leaks (RESOURCE_LEAK)
>>>>>> Variable "args" going out of scope leaks the resource it refers to.
>>> 145 return;
>>> 146 } else {
>>> 147 if (b.length() > 0) {
>>> 148 b.append(' ');
>>> 149 }
>>> 150 b.append(args.current());
>>>
>>> ** CID 158400: Null pointer dereferences (NULL_RETURNS)
>>> /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in
>> org.apache.calcite.schema.Schemas.makeContext(org.apache.calcite.jdbc.CalciteConnection,
>> org.apache.calcite.jdbc.CalciteSchema, java.util.List, java.util.List,
>> com.google.common.collect.ImmutableMap)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 158400: Null pointer dereferences (NULL_RETURNS)
>>> /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in
>> org.apache.calcite.schema.Schemas.makeContext(org.apache.calcite.jdbc.CalciteConnection,
>> org.apache.calcite.jdbc.CalciteSchema, java.util.List, java.util.List,
>> com.google.common.collect.ImmutableMap)()
>>> 364 private static CalcitePrepare.Context makeContext(
>>> 365 CalciteConnection connection, CalciteSchema schema,
>>> 366 List<String> schemaPath, List<String> objectPath,
>>> 367 final ImmutableMap<CalciteConnectionProperty, String>
>> propValues) {
>>> 368 if (connection == null) {
>>> 369 final CalcitePrepare.Context context0 =
>> CalcitePrepare.Dummy.peek();
>>>>>> CID 158400: Null pointer dereferences (NULL_RETURNS)
>>>>>> Calling a method on null object "context0".
>>> 370 final CalciteConnectionConfig config =
>>> 371 mutate(context0.config(), propValues);
>>> 372 return makeContext(config, context0.getTypeFactory(),
>>> 373 context0.getDataContext(), schema, schemaPath,
>> objectPath);
>>> 374 } else {
>>> 375 final CalciteConnectionConfig config =
>>>
>>> ** CID 145626: Null pointer dereferences (NULL_RETURNS)
>>> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
>> 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
>> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,
>> org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet,
>> java.util.List, boolean)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 145626: Null pointer dereferences (NULL_RETURNS)
>>> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
>> 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
>> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,
>> org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet,
>> java.util.List, boolean)()
>>> 1050 // If there are no constraints as to which side the factor
>> must
>>> 1051 // be pushed, arbitrarily push to the left. In the case of
>> a
>>> 1052 // self-join, always push to the input that contains the
>> other
>>> 1053 // half of the self-join.
>>> 1054 if (selfJoin) {
>>> 1055 BitSet selfJoinFactor = new BitSet(multiJoin.
>> getNumJoinFactors());
>>>>>> CID 145626: Null pointer dereferences (NULL_RETURNS)
>>>>>> Unboxing null object "multiJoin.getOtherSelfJoinFactor(
>> factorToAdd)".
>>> 1056 selfJoinFactor.set(multiJoin.getOtherSelfJoinFactor(
>> factorToAdd));
>>> 1057 if (multiJoin.hasAllFactors(left, selfJoinFactor)) {
>>> 1058 childNo = 0;
>>> 1059 } else {
>>> 1060 assert multiJoin.hasAllFactors(right, selfJoinFactor);
>>> 1061 childNo = 1;
>>>
>>> ** CID 145625: (FORWARD_NULL)
>>> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
>> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
>> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
>>> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
>> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
>> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 145625: (FORWARD_NULL)
>>> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
>> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
>> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
>>> 671 private LoptJoinTree createOrdering(
>>> 672 RelMetadataQuery mq,
>>> 673 RelBuilder relBuilder,
>>> 674 LoptMultiJoin multiJoin,
>>> 675 LoptSemiJoinOptimizer semiJoinOpt,
>>> 676 int firstFactor) {
>>>>>> CID 145625: (FORWARD_NULL)
>>>>>> Assigning: "joinTree" = "null".
>>> 677 LoptJoinTree joinTree = null;
>>> 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
>>> 679 final BitSet factorsToAdd = BitSets.range(0, nJoinFactors);
>>> 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
>>> 681 final List<RexNode> filtersToAdd =
>>> 682 new ArrayList<>(multiJoin.getJoinFilters());
>>> /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
>> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
>> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
>> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
>> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
>>> 671 private LoptJoinTree createOrdering(
>>> 672 RelMetadataQuery mq,
>>> 673 RelBuilder relBuilder,
>>> 674 LoptMultiJoin multiJoin,
>>> 675 LoptSemiJoinOptimizer semiJoinOpt,
>>> 676 int firstFactor) {
>>>>>> CID 145625: (FORWARD_NULL)
>>>>>> Assigning: "joinTree" = "null".
>>> 677 LoptJoinTree joinTree = null;
>>> 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
>>> 679 final BitSet factorsToAdd = BitSets.range(0, nJoinFactors);
>>> 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
>>> 681 final List<RexNode> filtersToAdd =
>>> 682 new ArrayList<>(multiJoin.getJoinFilters());
>>>
>>> ** CID 142184: (FORWARD_NULL)
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 142184: (FORWARD_NULL)
>>> /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java:
>> 391 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
>> visit(org.apache.calcite.rel.core.Match)()
>>> 385
>>> 386 SqlNode tableRef = x.asQueryOrValues();
>>> 387
>>> 388 final List<SqlNode> partitionSqlList = new ArrayList<>();
>>> 389 if (e.getPartitionKeys() != null) {
>>> 390 for (RexNode rex : e.getPartitionKeys()) {
>>>>>> CID 142184: (FORWARD_NULL)
>>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
>> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
>> Context.toSql".)
>>> 391 SqlNode sqlNode = context.toSql(null, rex);
>>> 392 partitionSqlList.add(sqlNode);
>>> 393 }
>>> 394 }
>>> 395 final SqlNodeList partitionList = new
>> SqlNodeList(partitionSqlList, POS);
>>> 396
>>> /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java:
>> 428 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
>> visit(org.apache.calcite.rel.core.Match)()
>>> 422 RexCall call = (RexCall) e.getAfter();
>>> 423 String operand = RexLiteral.stringValue(call.
>> getOperands().get(0));
>>> 424 after = call.getOperator().createCall(POS, new
>> SqlIdentifier(operand, POS));
>>> 425 }
>>> 426
>>> 427 RexNode rexPattern = e.getPattern();
>>>>>> CID 142184: (FORWARD_NULL)
>>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
>> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
>> Context.toSql".)
>>> 428 final SqlNode pattern = context.toSql(null, rexPattern);
>>> 429 final SqlLiteral strictStart = SqlLiteral.createBoolean(e.isStrictStart(),
>> POS);
>>> 430 final SqlLiteral strictEnd = SqlLiteral.createBoolean(e.isStrictEnd(),
>> POS);
>>> 431
>>> 432 RexLiteral rexInterval = (RexLiteral) e.getInterval();
>>> 433 SqlIntervalLiteral interval = null;
>>> /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java:
>> 453 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
>> visit(org.apache.calcite.rel.core.Match)()
>>> 447 new SqlNodeList(rhl, POS)));
>>> 448 }
>>> 449
>>> 450 final SqlNodeList measureList = new SqlNodeList(POS);
>>> 451 for (Map.Entry<String, RexNode> entry :
>> e.getMeasures().entrySet()) {
>>> 452 final String alias = entry.getKey();
>>>>>> CID 142184: (FORWARD_NULL)
>>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
>> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
>> Context.toSql".)
>>> 453 final SqlNode sqlNode = context.toSql(null,
>> entry.getValue());
>>> 454 measureList.add(as(sqlNode, alias));
>>> 455 }
>>> 456
>>> 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
>>> 458 for (Map.Entry<String, RexNode> entry :
>> e.getPatternDefinitions().entrySet()) {
>>> /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java:
>> 460 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
>> visit(org.apache.calcite.rel.core.Match)()
>>> 454 measureList.add(as(sqlNode, alias));
>>> 455 }
>>> 456
>>> 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
>>> 458 for (Map.Entry<String, RexNode> entry :
>> e.getPatternDefinitions().entrySet()) {
>>> 459 final String alias = entry.getKey();
>>>>>> CID 142184: (FORWARD_NULL)
>>>>>> Passing "null" to "toSql", which dereferences it. (The virtual
>> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
>> Context.toSql".)
>>> 460 final SqlNode sqlNode = context.toSql(null,
>> entry.getValue());
>>> 461 patternDefList.add(as(sqlNode, alias));
>>> 462 }
>>> 463
>>> 464 final SqlNode matchRecognize = new SqlMatchRecognize(POS,
>> tableRef,
>>> 465 pattern, strictStart, strictEnd, patternDefList,
>> measureList, after,
>>>
>>> ** CID 141870: Null pointer dereferences (NULL_RETURNS)
>>> /core/src/main/java/org/apache/calcite/rel/rules/DateRangeRules.java:
>> 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.visitList(java.util.List,
>> boolean[])()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 141870: Null pointer dereferences (NULL_RETURNS)
>>> /core/src/main/java/org/apache/calcite/rel/rules/DateRangeRules.java:
>> 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.visitList(java.util.List,
>> boolean[])()
>>> 245
>>> 246 @Override protected List<RexNode> visitList(List<? extends
>> RexNode> exprs,
>>> 247 boolean[] update) {
>>> 248 if (exprs.isEmpty()) {
>>> 249 return ImmutableList.of(); // a bit more efficient
>>> 250 }
>>>>>> CID 141870: Null pointer dereferences (NULL_RETURNS)
>>>>>> Calling a method on null object "calls.peek()".
>>> 251 switch (calls.peek().getKind()) {
>>> 252 case AND:
>>> 253 return super.visitList(exprs, update);
>>> 254 default:
>>> 255 final Map<String, RangeSet<Calendar>> save =
>>> 256 ImmutableMap.copyOf(operandRanges);
>>>
>>> ** CID 141868: Null pointer dereferences (NULL_RETURNS)
>>> /file/src/main/java/org/apache/calcite/adapter/file/FileReader.java: 98
>> in org.apache.calcite.adapter.file.FileReader.getSelectedTable(org.jsoup.nodes.Document,
>> java.lang.String)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 141868: Null pointer dereferences (NULL_RETURNS)
>>> /file/src/main/java/org/apache/calcite/adapter/file/FileReader.java: 98
>> in org.apache.calcite.adapter.file.FileReader.getSelectedTable(org.jsoup.nodes.Document,
>> java.lang.String)()
>>> 92 el = list.first();
>>> 93 } else {
>>> 94 el = list.get(this.index);
>>> 95 }
>>> 96
>>> 97 // verify element is a table
>>>>>> CID 141868: Null pointer dereferences (NULL_RETURNS)
>>>>>> Calling a method on null object "el".
>>> 98 if (el.tag().getName().equals("table")) {
>>> 99 return el;
>>> 100 } else {
>>> 101 throw new FileReaderException("selected (" + selector + ")
>> element is a "
>>> 102 + el.tag().getName() + ", not a table");
>>> 103 }
>>>
>>> ** CID 140968: Medium impact security (RISKY_CRYPTO)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
>> int, java.net.InetAddress, int)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 140968: Medium impact security (RISKY_CRYPTO)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
>> int, java.net.InetAddress, int)()
>>> 144 return s;
>>> 145 }
>>> 146
>>> 147 @Override public Socket createSocket(InetAddress host, int
>> port,
>>> 148 InetAddress local, int localPort) throws IOException {
>>> 149 Socket s = createSocket();
>>>>>> CID 140968: Medium impact security (RISKY_CRYPTO)
>>>>>> Establishing an SSL connection using the default SSL protocols
>> will enable SSLv3, which is known to be insecure. An attacker may be able
>> to decrypt and extract sensitive data that is transmitted over the network.
>>> 150 s.bind(new InetSocketAddress(local, localPort));
>>> 151 s.connect(new InetSocketAddress(host, port),
>> SO_CONNECT_TIMEOUT);
>>> 152 return s;
>>> 153 }
>>> 154
>>> 155 /**
>>>
>>> ** CID 140967: Medium impact security (RISKY_CRYPTO)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
>> int, java.net.InetAddress, int)()
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> *** CID 140967: Medium impact security (RISKY_CRYPTO)
>>> /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
>> 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
>> int, java.net.InetAddress, int)()
>>> 136 return s;
>>> 137 }
>>> 138
>>> 139 @Override public Socket createSocket(String host, int port,
>> InetAddress local,
>>> 140 int localPort) throws IOException {
>>> 141 Socket s = createSocket();
>>>>>> CID 140967: Medium impact security (RISKY_CRYPTO)
>>>>>> Establishing an SSL connection using the default SSL protocols
>> will enable SSLv3, which is known to be insecure. An attacker may be able
>> to decrypt and extract sensitive data that is transmitted over the network.
>>> 142 s.bind(new InetSocketAddress(local, localPort));
>>> 143 s.connect(new InetSocketAddress(host, port),
>> SO_CONNECT_TIMEOUT);
>>> 144 return s;
>>> 145 }
>>> 146
>>> 147 @Override public Socket createSocket(InetAddress host, int
>> port,
>>>
>>>
>>> ____________________________________________________________
>> ____________________________________________
>>> To view the defects in Coverity Scan visit,
>> https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-
>> 2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRan3op15YHpCm8RcaPivZ
>> nSHnoLqw-2B7ufyYzK-2FxYZh70RsHioxilEcykXThc-2FHAC1vCuZqr481udaDNO-
>> 2B26EkwN_imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-
>> 2Fi0pV0DPPfm4SGJYexCZjnQThoTMj-2B1lY4Ew4Mlfambj37PzDaTQBnEOoL
>> CTuARKZ88KKnstjXmpziSkivAmmTx5wbAznnKDKFe2tqamNSZLseGUXmhXcr
>> sTPo5fgFIyZwefMU7qtttO8qJUu2i80WbtA0ctnTRJYvRg-3D-3D
>>>
>>> To manage Coverity Scan email notifications for "jhyde@apache.org",
>> click https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-
>> 2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbVDbis712qZDP-
>> 2FA8y06Nq4BoCAgQyGZbR5Ka-2BtqPkbMIRa0EKakQx2V3qCI3AQ17q
>> Sid0ChoOurTSf7RECs1gZeliKSiqSYFeQV5NHgws1sYYu5KfGgq-2FqD0AylqtLo7E-3D_
>> imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-2Fi0pV0DPPfm4SG-2Bljg-
>> 2FHVngtY7oHFBd2XIh-2B5dC8ZsSD3P1gqoWGwRkKH8Aw5vcYciYWgHBtvA-
>> 2BKIIIiEp3rwg3NZulLl4KauwqElJdWMUxV5T4DqoXUkBrACt4ogc4tKlb92SEtIXIuH44ov-
>> 2BxIp08g5KVzRSZXXvwg-3D-3D
>>>
>>
>>
Re: New Defects reported by Coverity Scan for julianhyde/calcite
Posted by Michael Mior <mm...@uwaterloo.ca>.
I requested approval some time ago to be added to the project on Coverity
since I find it easier to review things on the web interface. If you
wouldn't mind approving that, would help.
--
Michael Mior
mmior@apache.org
2017-09-07 13:31 GMT-04:00 Julian Hyde <jh...@apache.org>:
> Here is the latest scan. Can someone please review?
>
> Julian
>
>
> > Begin forwarded message:
> >
> > From: scan-admin@coverity.com
> > Subject: New Defects reported by Coverity Scan for
> julianhyde/incubator-calcite
> > Date: September 7, 2017 at 10:26:37 AM PDT
> > To: jhyde@apache.org
> >
> >
> > Hi,
> >
> > Please find the latest report on new defect(s) introduced to
> julianhyde/incubator-calcite found with Coverity Scan.
> >
> > 69 new defect(s) introduced to julianhyde/incubator-calcite found with
> Coverity Scan.
> > 67 defect(s), reported by Coverity Scan earlier, were marked fixed in
> the recent build analyzed by Coverity Scan.
> >
> > New defect(s) Reported-by: Coverity Scan
> > Showing 20 of 69 defect(s)
> >
> >
> > ** CID 170823: High impact security (BAD_CERT_VERIFICATION)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 128 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
> int)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 170823: High impact security (BAD_CERT_VERIFICATION)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 128 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
> int)()
> > 122 return s;
> > 123 }
> > 124
> > 125 @Override public Socket createSocket(String host, int port)
> > 126 throws IOException {
> > 127 Socket s = createSocket();
> >>>> CID 170823: High impact security (BAD_CERT_VERIFICATION)
> >>>> "s" used without verifying the hostname of the SSLSession.
> > 128 s.connect(new InetSocketAddress(host, port),
> SO_CONNECT_TIMEOUT);
> > 129 return s;
> > 130 }
> > 131
> > 132 @Override public Socket createSocket(InetAddress host, int
> port)
> > 133 throws IOException {
> >
> > ** CID 170822: Null pointer dereferences (NULL_RETURNS)
> > /pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java: 59
> in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(
> java.lang.String)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 170822: Null pointer dereferences (NULL_RETURNS)
> > /pig/src/main/java/org/apache/calcite/adapter/pig/PigTableScan.java: 59
> in org.apache.calcite.adapter.pig.PigTableScan.getPigTable(
> java.lang.String)()
> > 53 + "' USING PigStorage() AS " + schema + ';';
> > 54 implementor.addStatement(statement);
> > 55 }
> > 56
> > 57 private PigTable getPigTable(String name) {
> > 58 final CalciteSchema schema = getTable().unwrap(org.apache.
> calcite.jdbc.CalciteSchema.class);
> >>>> CID 170822: Null pointer dereferences (NULL_RETURNS)
> >>>> Calling a method on null object "schema.getTable(name, false)".
> > 59 return (PigTable) schema.getTable(name, false).getTable();
> > 60 }
> > 61
> > 62 private String getSchemaForPigStatement(Implementor
> implementor) {
> > 63 final List<String> fieldNamesAndTypes = new ArrayList<>(
> > 64 getTable().getRowType().getFieldList().size());
> >
> > ** CID 170821: High impact security (BAD_CERT_VERIFICATION)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
> int)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 170821: High impact security (BAD_CERT_VERIFICATION)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 135 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
> int)()
> > 129 return s;
> > 130 }
> > 131
> > 132 @Override public Socket createSocket(InetAddress host, int
> port)
> > 133 throws IOException {
> > 134 Socket s = createSocket();
> >>>> CID 170821: High impact security (BAD_CERT_VERIFICATION)
> >>>> "s" used without verifying the hostname of the SSLSession.
> > 135 s.connect(new InetSocketAddress(host, port),
> SO_CONNECT_TIMEOUT);
> > 136 return s;
> > 137 }
> > 138
> > 139 @Override public Socket createSocket(String host, int port,
> InetAddress local,
> > 140 int localPort) throws IOException {
> >
> > ** CID 170820: (BAD_CERT_VERIFICATION)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
> int, java.net.InetAddress, int)()
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
> int, java.net.InetAddress, int)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 170820: (BAD_CERT_VERIFICATION)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
> int, java.net.InetAddress, int)()
> > 144 return s;
> > 145 }
> > 146
> > 147 @Override public Socket createSocket(InetAddress host, int
> port,
> > 148 InetAddress local, int localPort) throws IOException {
> > 149 Socket s = createSocket();
> >>>> CID 170820: (BAD_CERT_VERIFICATION)
> >>>> "s" used without verifying the hostname of the SSLSession.
> > 150 s.bind(new InetSocketAddress(local, localPort));
> > 151 s.connect(new InetSocketAddress(host, port),
> SO_CONNECT_TIMEOUT);
> > 152 return s;
> > 153 }
> > 154
> > 155 /**
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 151 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
> int, java.net.InetAddress, int)()
> > 145 }
> > 146
> > 147 @Override public Socket createSocket(InetAddress host, int
> port,
> > 148 InetAddress local, int localPort) throws IOException {
> > 149 Socket s = createSocket();
> > 150 s.bind(new InetSocketAddress(local, localPort));
> >>>> CID 170820: (BAD_CERT_VERIFICATION)
> >>>> "s" used without verifying the hostname of the SSLSession.
> > 151 s.connect(new InetSocketAddress(host, port),
> SO_CONNECT_TIMEOUT);
> > 152 return s;
> > 153 }
> > 154
> > 155 /**
> > 156 * @see javax.net.SocketFactory#getDefault()
> >
> > ** CID 170819: (BAD_CERT_VERIFICATION)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
> int, java.net.InetAddress, int)()
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 143 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
> int, java.net.InetAddress, int)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 170819: (BAD_CERT_VERIFICATION)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
> int, java.net.InetAddress, int)()
> > 136 return s;
> > 137 }
> > 138
> > 139 @Override public Socket createSocket(String host, int port,
> InetAddress local,
> > 140 int localPort) throws IOException {
> > 141 Socket s = createSocket();
> >>>> CID 170819: (BAD_CERT_VERIFICATION)
> >>>> "s" used without verifying the hostname of the SSLSession.
> > 142 s.bind(new InetSocketAddress(local, localPort));
> > 143 s.connect(new InetSocketAddress(host, port),
> SO_CONNECT_TIMEOUT);
> > 144 return s;
> > 145 }
> > 146
> > 147 @Override public Socket createSocket(InetAddress host, int
> port,
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 143 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
> int, java.net.InetAddress, int)()
> > 137 }
> > 138
> > 139 @Override public Socket createSocket(String host, int port,
> InetAddress local,
> > 140 int localPort) throws IOException {
> > 141 Socket s = createSocket();
> > 142 s.bind(new InetSocketAddress(local, localPort));
> >>>> CID 170819: (BAD_CERT_VERIFICATION)
> >>>> "s" used without verifying the hostname of the SSLSession.
> > 143 s.connect(new InetSocketAddress(host, port),
> SO_CONNECT_TIMEOUT);
> > 144 return s;
> > 145 }
> > 146
> > 147 @Override public Socket createSocket(InetAddress host, int
> port,
> > 148 InetAddress local, int localPort) throws IOException {
> >
> > ** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> > /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorUtil.java:
> 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$
> DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> > /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorUtil.java:
> 1007 in org.apache.calcite.sql.validate.SqlValidatorUtil$
> DeepCopier.visit(org.apache.calcite.sql.SqlLiteral)()
> > 1001 ArgHandler<SqlNode> argHandler =
> > 1002 new CallCopyingArgHandler(call, true);
> > 1003 call.getOperator().acceptCall(this, call, false,
> argHandler);
> > 1004 return argHandler.result();
> > 1005 }
> > 1006
> >>>> CID 170818: Class hierarchy inconsistencies (CALL_SUPER)
> >>>> Missing call to "org.apache.calcite.sql.util.
> SqlShuttle.visit(org.apache.calcite.sql.SqlLiteral)" (as is done
> elsewhere 2 out of 3 times).
> > 1007 public SqlNode visit(SqlLiteral literal) {
> > 1008 return (SqlNode) literal.clone();
> > 1009 }
> > 1010
> > 1011 public SqlNode visit(SqlIdentifier id) {
> > 1012 // First check for builtin functions which don't have
> parentheses,
> >
> > ** CID 170804: (NULL_RETURNS)
> > /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java:
> 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> boolean)()
> > /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java:
> 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> boolean)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 170804: (NULL_RETURNS)
> > /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java:
> 219 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> boolean)()
> > 213 value1 = literalValue(call.getOperands().get(2),
> timeZone);
> > 214 value2 = literalValue(call.getOperands().get(3),
> timeZone);
> > 215 } else {
> > 216 return null;
> > 217 }
> > 218
> >>>> CID 170804: (NULL_RETURNS)
> >>>> Calling a method on null object "value1".
> > 219 boolean inverted = value1.compareTo(value2) > 0;
> > 220 if (!withNot) {
> > 221 return ImmutableList.of(
> > 222 inverted ? Range.closed(value2, value1) :
> Range.closed(value1, value2));
> > 223 }
> > 224 return ImmutableList.of(Range.lessThan(inverted ? value2
> : value1),
> > /druid/src/main/java/org/apache/calcite/adapter/druid/DruidDateTimeUtils.java:
> 214 in org.apache.calcite.adapter.druid.DruidDateTimeUtils.
> leafToRanges(org.apache.calcite.rex.RexCall, java.util.TimeZone,
> boolean)()
> > 208 {
> > 209 final TimestampString value1;
> > 210 final TimestampString value2;
> > 211 if (literalValue(call.getOperands().get(2), timeZone) !=
> null
> > 212 && literalValue(call.getOperands().get(3), timeZone)
> != null) {
> > 213 value1 = literalValue(call.getOperands().get(2),
> timeZone);
> >>>> CID 170804: (NULL_RETURNS)
> >>>> Assigning: "value2" = null return value from "literalValue".
> > 214 value2 = literalValue(call.getOperands().get(3),
> timeZone);
> > 215 } else {
> > 216 return null;
> > 217 }
> > 218
> > 219 boolean inverted = value1.compareTo(value2) > 0;
> >
> > ** CID 168769: Integer handling issues (BAD_SHIFT)
> > /core/src/main/java/org/apache/calcite/rel/rules/
> AggregateExpandDistinctAggregatesRule.java: 466 in
> org.apache.calcite.rel.rules.AggregateExpandDistinctAggrega
> tesRule.groupValue(org.apache.calcite.util.ImmutableBitSet,
> org.apache.calcite.util.ImmutableBitSet)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 168769: Integer handling issues (BAD_SHIFT)
> > /core/src/main/java/org/apache/calcite/rel/rules/
> AggregateExpandDistinctAggregatesRule.java: 466 in
> org.apache.calcite.rel.rules.AggregateExpandDistinctAggrega
> tesRule.groupValue(org.apache.calcite.util.ImmutableBitSet,
> org.apache.calcite.util.ImmutableBitSet)()
> > 460 call.transformTo(relBuilder.build());
> > 461 }
> > 462
> > 463 private static long groupValue(ImmutableBitSet fullGroupSet,
> > 464 ImmutableBitSet groupSet) {
> > 465 long v = 0;
> >>>> CID 168769: Integer handling issues (BAD_SHIFT)
> >>>> In expression "1L << fullGroupSet.cardinality() - 1", shifting by
> a negative amount implicitly performs a bit mask operation on the shift
> amount. The shift amount, "fullGroupSet.cardinality() - 1", is -1.
> > 466 long x = 1L << (fullGroupSet.cardinality() - 1);
> > 467 assert fullGroupSet.contains(groupSet);
> > 468 for (int i : fullGroupSet) {
> > 469 if (!groupSet.get(i)) {
> > 470 v |= x;
> > 471 }
> >
> > ** CID 168768: Concurrent data access violations (GUARDED_BY_VIOLATION)
> > /core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcSchema.java:
> 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.
> apache.calcite.schema.SchemaVersion)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 168768: Concurrent data access violations
> (GUARDED_BY_VIOLATION)
> > /core/src/main/java/org/apache/calcite/adapter/jdbc/JdbcSchema.java:
> 168 in org.apache.calcite.adapter.jdbc.JdbcSchema.snapshot(org.
> apache.calcite.schema.SchemaVersion)()
> > 162
> > 163 public boolean isMutable() {
> > 164 return false;
> > 165 }
> > 166
> > 167 public Schema snapshot(SchemaVersion version) {
> >>>> CID 168768: Concurrent data access violations
> (GUARDED_BY_VIOLATION)
> >>>> Accessing "tableMap" without holding lock "JdbcSchema.this".
> Elsewhere, "org.apache.calcite.adapter.jdbc.JdbcSchema.tableMap" is
> accessed with "JdbcSchema.this" held 3 out of 4 times.
> > 168 return new JdbcSchema(dataSource, dialect, convention,
> catalog, schema,
> > 169 tableMap);
> > 170 }
> > 171
> > 172 // Used by generated code.
> > 173 public DataSource getDataSource() {
> >
> > ** CID 168767: Null pointer dereferences (NULL_RETURNS)
> > /elasticsearch2/src/main/java/org/apache/calcite/adapter/elasticsearch2/Elasticsearch2Schema.java:
> 97 in org.apache.calcite.adapter.elasticsearch2.Elasticsearch2Schema.
> getTableMap()()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 168767: Null pointer dereferences (NULL_RETURNS)
> > /elasticsearch2/src/main/java/org/apache/calcite/adapter/elasticsearch2/Elasticsearch2Schema.java:
> 97 in org.apache.calcite.adapter.elasticsearch2.Elasticsearch2Schema.
> getTableMap()()
> > 91
> > 92 try {
> > 93 GetMappingsResponse response = client.admin().indices()
> > 94 .getMappings(new GetMappingsRequest().indices(index))
> > 95 .get();
> > 96 ImmutableOpenMap<String, MappingMetaData> mapping =
> response.getMappings().get(index);
> >>>> CID 168767: Null pointer dereferences (NULL_RETURNS)
> >>>> Calling a method on null object "mapping".
> > 97 for (ObjectObjectCursor<String, MappingMetaData> c:
> mapping) {
> > 98 builder.put(c.key, new Elasticsearch2Table(client, index,
> c.key));
> > 99 }
> > 100 } catch (RuntimeException e) {
> > 101 throw e;
> > 102 } catch (Exception e) {
> >
> > ** CID 163871: Null pointer dereferences (NULL_RETURNS)
> > /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java:
> 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$
> ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 163871: Null pointer dereferences (NULL_RETURNS)
> > /core/src/main/java/org/apache/calcite/sql/validate/SqlValidatorImpl.java:
> 5699 in org.apache.calcite.sql.validate.SqlValidatorImpl$
> ExtendedExpander.visit(org.apache.calcite.sql.SqlIdentifier)()
> > 5693 }
> > 5694 if (havingExpr && validator.isAggregate(root)) {
> > 5695 return super.visit(id);
> > 5696 }
> > 5697 expr = stripAs(expr);
> > 5698 if (expr instanceof SqlIdentifier) {
> >>>> CID 163871: Null pointer dereferences (NULL_RETURNS)
> >>>> Calling a method on null object "getScope()".
> > 5699 expr = getScope().fullyQualify((SqlIdentifier)
> expr).identifier;
> > 5700 }
> > 5701 return expr;
> > 5702 }
> > 5703 return super.visit(id);
> > 5704 }
> >
> > ** CID 158939: Resource leaks (RESOURCE_LEAK)
> > /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java: 145 in
> org.apache.calcite.adapter.os.SqlShell.run()()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 158939: Resource leaks (RESOURCE_LEAK)
> > /plus/src/main/java/org/apache/calcite/adapter/os/SqlShell.java: 145 in
> org.apache.calcite.adapter.os.SqlShell.run()()
> > 139 } else {
> > 140 throw new RuntimeException("missing format");
> > 141 }
> > 142 } else if (args.current().equals("-h")
> > 143 || args.current().equals("--help")) {
> > 144 out.println(help);
> >>>> CID 158939: Resource leaks (RESOURCE_LEAK)
> >>>> Variable "args" going out of scope leaks the resource it refers to.
> > 145 return;
> > 146 } else {
> > 147 if (b.length() > 0) {
> > 148 b.append(' ');
> > 149 }
> > 150 b.append(args.current());
> >
> > ** CID 158400: Null pointer dereferences (NULL_RETURNS)
> > /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in
> org.apache.calcite.schema.Schemas.makeContext(org.apache.calcite.jdbc.CalciteConnection,
> org.apache.calcite.jdbc.CalciteSchema, java.util.List, java.util.List,
> com.google.common.collect.ImmutableMap)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 158400: Null pointer dereferences (NULL_RETURNS)
> > /core/src/main/java/org/apache/calcite/schema/Schemas.java: 370 in
> org.apache.calcite.schema.Schemas.makeContext(org.apache.calcite.jdbc.CalciteConnection,
> org.apache.calcite.jdbc.CalciteSchema, java.util.List, java.util.List,
> com.google.common.collect.ImmutableMap)()
> > 364 private static CalcitePrepare.Context makeContext(
> > 365 CalciteConnection connection, CalciteSchema schema,
> > 366 List<String> schemaPath, List<String> objectPath,
> > 367 final ImmutableMap<CalciteConnectionProperty, String>
> propValues) {
> > 368 if (connection == null) {
> > 369 final CalcitePrepare.Context context0 =
> CalcitePrepare.Dummy.peek();
> >>>> CID 158400: Null pointer dereferences (NULL_RETURNS)
> >>>> Calling a method on null object "context0".
> > 370 final CalciteConnectionConfig config =
> > 371 mutate(context0.config(), propValues);
> > 372 return makeContext(config, context0.getTypeFactory(),
> > 373 context0.getDataContext(), schema, schemaPath,
> objectPath);
> > 374 } else {
> > 375 final CalciteConnectionConfig config =
> >
> > ** CID 145626: Null pointer dereferences (NULL_RETURNS)
> > /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
> 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,
> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,
> org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet,
> java.util.List, boolean)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 145626: Null pointer dereferences (NULL_RETURNS)
> > /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
> 1056 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> pushDownFactor(org.apache.calcite.rel.metadata.RelMetadataQuery,
> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer,
> org.apache.calcite.rel.rules.LoptJoinTree, int, java.util.BitSet,
> java.util.List, boolean)()
> > 1050 // If there are no constraints as to which side the factor
> must
> > 1051 // be pushed, arbitrarily push to the left. In the case of
> a
> > 1052 // self-join, always push to the input that contains the
> other
> > 1053 // half of the self-join.
> > 1054 if (selfJoin) {
> > 1055 BitSet selfJoinFactor = new BitSet(multiJoin.
> getNumJoinFactors());
> >>>> CID 145626: Null pointer dereferences (NULL_RETURNS)
> >>>> Unboxing null object "multiJoin.getOtherSelfJoinFactor(
> factorToAdd)".
> > 1056 selfJoinFactor.set(multiJoin.getOtherSelfJoinFactor(
> factorToAdd));
> > 1057 if (multiJoin.hasAllFactors(left, selfJoinFactor)) {
> > 1058 childNo = 0;
> > 1059 } else {
> > 1060 assert multiJoin.hasAllFactors(right, selfJoinFactor);
> > 1061 childNo = 1;
> >
> > ** CID 145625: (FORWARD_NULL)
> > /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> > /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 145625: (FORWARD_NULL)
> > /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> > 671 private LoptJoinTree createOrdering(
> > 672 RelMetadataQuery mq,
> > 673 RelBuilder relBuilder,
> > 674 LoptMultiJoin multiJoin,
> > 675 LoptSemiJoinOptimizer semiJoinOpt,
> > 676 int firstFactor) {
> >>>> CID 145625: (FORWARD_NULL)
> >>>> Assigning: "joinTree" = "null".
> > 677 LoptJoinTree joinTree = null;
> > 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
> > 679 final BitSet factorsToAdd = BitSets.range(0, nJoinFactors);
> > 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
> > 681 final List<RexNode> filtersToAdd =
> > 682 new ArrayList<>(multiJoin.getJoinFilters());
> > /core/src/main/java/org/apache/calcite/rel/rules/LoptOptimizeJoinRule.java:
> 677 in org.apache.calcite.rel.rules.LoptOptimizeJoinRule.
> createOrdering(org.apache.calcite.rel.metadata.RelMetadataQuery,
> org.apache.calcite.tools.RelBuilder, org.apache.calcite.rel.rules.LoptMultiJoin,
> org.apache.calcite.rel.rules.LoptSemiJoinOptimizer, int)()
> > 671 private LoptJoinTree createOrdering(
> > 672 RelMetadataQuery mq,
> > 673 RelBuilder relBuilder,
> > 674 LoptMultiJoin multiJoin,
> > 675 LoptSemiJoinOptimizer semiJoinOpt,
> > 676 int firstFactor) {
> >>>> CID 145625: (FORWARD_NULL)
> >>>> Assigning: "joinTree" = "null".
> > 677 LoptJoinTree joinTree = null;
> > 678 final int nJoinFactors = multiJoin.getNumJoinFactors();
> > 679 final BitSet factorsToAdd = BitSets.range(0, nJoinFactors);
> > 680 final BitSet factorsAdded = new BitSet(nJoinFactors);
> > 681 final List<RexNode> filtersToAdd =
> > 682 new ArrayList<>(multiJoin.getJoinFilters());
> >
> > ** CID 142184: (FORWARD_NULL)
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 142184: (FORWARD_NULL)
> > /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java:
> 391 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> visit(org.apache.calcite.rel.core.Match)()
> > 385
> > 386 SqlNode tableRef = x.asQueryOrValues();
> > 387
> > 388 final List<SqlNode> partitionSqlList = new ArrayList<>();
> > 389 if (e.getPartitionKeys() != null) {
> > 390 for (RexNode rex : e.getPartitionKeys()) {
> >>>> CID 142184: (FORWARD_NULL)
> >>>> Passing "null" to "toSql", which dereferences it. (The virtual
> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> Context.toSql".)
> > 391 SqlNode sqlNode = context.toSql(null, rex);
> > 392 partitionSqlList.add(sqlNode);
> > 393 }
> > 394 }
> > 395 final SqlNodeList partitionList = new
> SqlNodeList(partitionSqlList, POS);
> > 396
> > /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java:
> 428 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> visit(org.apache.calcite.rel.core.Match)()
> > 422 RexCall call = (RexCall) e.getAfter();
> > 423 String operand = RexLiteral.stringValue(call.
> getOperands().get(0));
> > 424 after = call.getOperator().createCall(POS, new
> SqlIdentifier(operand, POS));
> > 425 }
> > 426
> > 427 RexNode rexPattern = e.getPattern();
> >>>> CID 142184: (FORWARD_NULL)
> >>>> Passing "null" to "toSql", which dereferences it. (The virtual
> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> Context.toSql".)
> > 428 final SqlNode pattern = context.toSql(null, rexPattern);
> > 429 final SqlLiteral strictStart = SqlLiteral.createBoolean(e.isStrictStart(),
> POS);
> > 430 final SqlLiteral strictEnd = SqlLiteral.createBoolean(e.isStrictEnd(),
> POS);
> > 431
> > 432 RexLiteral rexInterval = (RexLiteral) e.getInterval();
> > 433 SqlIntervalLiteral interval = null;
> > /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java:
> 453 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> visit(org.apache.calcite.rel.core.Match)()
> > 447 new SqlNodeList(rhl, POS)));
> > 448 }
> > 449
> > 450 final SqlNodeList measureList = new SqlNodeList(POS);
> > 451 for (Map.Entry<String, RexNode> entry :
> e.getMeasures().entrySet()) {
> > 452 final String alias = entry.getKey();
> >>>> CID 142184: (FORWARD_NULL)
> >>>> Passing "null" to "toSql", which dereferences it. (The virtual
> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> Context.toSql".)
> > 453 final SqlNode sqlNode = context.toSql(null,
> entry.getValue());
> > 454 measureList.add(as(sqlNode, alias));
> > 455 }
> > 456
> > 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
> > 458 for (Map.Entry<String, RexNode> entry :
> e.getPatternDefinitions().entrySet()) {
> > /core/src/main/java/org/apache/calcite/rel/rel2sql/RelToSqlConverter.java:
> 460 in org.apache.calcite.rel.rel2sql.RelToSqlConverter.
> visit(org.apache.calcite.rel.core.Match)()
> > 454 measureList.add(as(sqlNode, alias));
> > 455 }
> > 456
> > 457 final SqlNodeList patternDefList = new SqlNodeList(POS);
> > 458 for (Map.Entry<String, RexNode> entry :
> e.getPatternDefinitions().entrySet()) {
> > 459 final String alias = entry.getKey();
> >>>> CID 142184: (FORWARD_NULL)
> >>>> Passing "null" to "toSql", which dereferences it. (The virtual
> call resolves to "org.apache.calcite.rel.rel2sql.SqlImplementor.
> Context.toSql".)
> > 460 final SqlNode sqlNode = context.toSql(null,
> entry.getValue());
> > 461 patternDefList.add(as(sqlNode, alias));
> > 462 }
> > 463
> > 464 final SqlNode matchRecognize = new SqlMatchRecognize(POS,
> tableRef,
> > 465 pattern, strictStart, strictEnd, patternDefList,
> measureList, after,
> >
> > ** CID 141870: Null pointer dereferences (NULL_RETURNS)
> > /core/src/main/java/org/apache/calcite/rel/rules/DateRangeRules.java:
> 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.visitList(java.util.List,
> boolean[])()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 141870: Null pointer dereferences (NULL_RETURNS)
> > /core/src/main/java/org/apache/calcite/rel/rules/DateRangeRules.java:
> 251 in org.apache.calcite.rel.rules.DateRangeRules$ExtractShuttle.visitList(java.util.List,
> boolean[])()
> > 245
> > 246 @Override protected List<RexNode> visitList(List<? extends
> RexNode> exprs,
> > 247 boolean[] update) {
> > 248 if (exprs.isEmpty()) {
> > 249 return ImmutableList.of(); // a bit more efficient
> > 250 }
> >>>> CID 141870: Null pointer dereferences (NULL_RETURNS)
> >>>> Calling a method on null object "calls.peek()".
> > 251 switch (calls.peek().getKind()) {
> > 252 case AND:
> > 253 return super.visitList(exprs, update);
> > 254 default:
> > 255 final Map<String, RangeSet<Calendar>> save =
> > 256 ImmutableMap.copyOf(operandRanges);
> >
> > ** CID 141868: Null pointer dereferences (NULL_RETURNS)
> > /file/src/main/java/org/apache/calcite/adapter/file/FileReader.java: 98
> in org.apache.calcite.adapter.file.FileReader.getSelectedTable(org.jsoup.nodes.Document,
> java.lang.String)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 141868: Null pointer dereferences (NULL_RETURNS)
> > /file/src/main/java/org/apache/calcite/adapter/file/FileReader.java: 98
> in org.apache.calcite.adapter.file.FileReader.getSelectedTable(org.jsoup.nodes.Document,
> java.lang.String)()
> > 92 el = list.first();
> > 93 } else {
> > 94 el = list.get(this.index);
> > 95 }
> > 96
> > 97 // verify element is a table
> >>>> CID 141868: Null pointer dereferences (NULL_RETURNS)
> >>>> Calling a method on null object "el".
> > 98 if (el.tag().getName().equals("table")) {
> > 99 return el;
> > 100 } else {
> > 101 throw new FileReaderException("selected (" + selector + ")
> element is a "
> > 102 + el.tag().getName() + ", not a table");
> > 103 }
> >
> > ** CID 140968: Medium impact security (RISKY_CRYPTO)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
> int, java.net.InetAddress, int)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 140968: Medium impact security (RISKY_CRYPTO)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 150 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.net.InetAddress,
> int, java.net.InetAddress, int)()
> > 144 return s;
> > 145 }
> > 146
> > 147 @Override public Socket createSocket(InetAddress host, int
> port,
> > 148 InetAddress local, int localPort) throws IOException {
> > 149 Socket s = createSocket();
> >>>> CID 140968: Medium impact security (RISKY_CRYPTO)
> >>>> Establishing an SSL connection using the default SSL protocols
> will enable SSLv3, which is known to be insecure. An attacker may be able
> to decrypt and extract sensitive data that is transmitted over the network.
> > 150 s.bind(new InetSocketAddress(local, localPort));
> > 151 s.connect(new InetSocketAddress(host, port),
> SO_CONNECT_TIMEOUT);
> > 152 return s;
> > 153 }
> > 154
> > 155 /**
> >
> > ** CID 140967: Medium impact security (RISKY_CRYPTO)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
> int, java.net.InetAddress, int)()
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > *** CID 140967: Medium impact security (RISKY_CRYPTO)
> > /core/src/main/java/org/apache/calcite/runtime/SocketFactoryImpl.java:
> 142 in org.apache.calcite.runtime.SocketFactoryImpl.createSocket(java.lang.String,
> int, java.net.InetAddress, int)()
> > 136 return s;
> > 137 }
> > 138
> > 139 @Override public Socket createSocket(String host, int port,
> InetAddress local,
> > 140 int localPort) throws IOException {
> > 141 Socket s = createSocket();
> >>>> CID 140967: Medium impact security (RISKY_CRYPTO)
> >>>> Establishing an SSL connection using the default SSL protocols
> will enable SSLv3, which is known to be insecure. An attacker may be able
> to decrypt and extract sensitive data that is transmitted over the network.
> > 142 s.bind(new InetSocketAddress(local, localPort));
> > 143 s.connect(new InetSocketAddress(host, port),
> SO_CONNECT_TIMEOUT);
> > 144 return s;
> > 145 }
> > 146
> > 147 @Override public Socket createSocket(InetAddress host, int
> port,
> >
> >
> > ____________________________________________________________
> ____________________________________________
> > To view the defects in Coverity Scan visit,
> https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-
> 2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRan3op15YHpCm8RcaPivZ
> nSHnoLqw-2B7ufyYzK-2FxYZh70RsHioxilEcykXThc-2FHAC1vCuZqr481udaDNO-
> 2B26EkwN_imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-
> 2Fi0pV0DPPfm4SGJYexCZjnQThoTMj-2B1lY4Ew4Mlfambj37PzDaTQBnEOoL
> CTuARKZ88KKnstjXmpziSkivAmmTx5wbAznnKDKFe2tqamNSZLseGUXmhXcr
> sTPo5fgFIyZwefMU7qtttO8qJUu2i80WbtA0ctnTRJYvRg-3D-3D
> >
> > To manage Coverity Scan email notifications for "jhyde@apache.org",
> click https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-
> 2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbVDbis712qZDP-
> 2FA8y06Nq4BoCAgQyGZbR5Ka-2BtqPkbMIRa0EKakQx2V3qCI3AQ17q
> Sid0ChoOurTSf7RECs1gZeliKSiqSYFeQV5NHgws1sYYu5KfGgq-2FqD0AylqtLo7E-3D_
> imI2KYNsuEB01fwTN2GgVt7Zng1mYfKawcoWn3RVSCvef3fPyU-2Fi0pV0DPPfm4SG-2Bljg-
> 2FHVngtY7oHFBd2XIh-2B5dC8ZsSD3P1gqoWGwRkKH8Aw5vcYciYWgHBtvA-
> 2BKIIIiEp3rwg3NZulLl4KauwqElJdWMUxV5T4DqoXUkBrACt4ogc4tKlb92SEtIXIuH44ov-
> 2BxIp08g5KVzRSZXXvwg-3D-3D
> >
>
>