Here is the latest scan. Can someone please review? Julian
> Begin forwarded message: > > From: [email protected] > Subject: New Defects reported by Coverity Scan for > julianhyde/incubator-calcite > Date: September 7, 2017 at 10:26:37 AM PDT > To: [email protected] > > > 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 "[email protected]", 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 >
