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
[email protected]

2017-09-07 13:31 GMT-04:00 Julian Hyde <[email protected]>:

> 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.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 "[email protected]",
> 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
> >
>
>

Reply via email to