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
> 

Reply via email to