teragrep / pth_06

Teragrep Datasource for Apache Spark
GNU Affero General Public License v3.0
0 stars 5 forks source link

Multiple NULL_RETURNS in Util.java #45

Open StrongestNumber9 opened 2 months ago

StrongestNumber9 commented 2 months ago

Describe the bug

/src/main/java/com/teragrep/pth_06/planner/walker/Util.java: 116 in com.teragrep.pth_06.planner.walker.Util.relativeTimeModifier(java.sql.Timestamp, java.lang.String)()
/src/main/java/com/teragrep/pth_06/planner/walker/Util.java: 115 in com.teragrep.pth_06.planner.walker.Util.relativeTimeModifier(java.sql.Timestamp, java.lang.String)()
/src/main/java/com/teragrep/pth_06/planner/walker/Util.java: 114 in com.teragrep.pth_06.planner.walker.Util.relativeTimeModifier(java.sql.Timestamp, java.lang.String)()

** CID 1594367:    (NULL_RETURNS)
/src/main/java/com/teragrep/pth_06/planner/walker/Util.java: 116 in com.teragrep.pth_06.planner.walker.Util.relativeTimeModifier(java.sql.Timestamp, java.lang.String)()
110     
111             if (!matcher.find())
112                 throw new NumberFormatException("Unknown relative time modifier string [" + value + "]");
113     
114             long v = Long.parseLong(matcher.group());
115             matcher.group().length();
>>>     CID 1594367:    (NULL_RETURNS)
>>>     Calling a method on null object "matcher.group()".
116             String unit = value.substring(matcher.group().length(), value.length());
117     
118             LocalDateTime now = timestamp.toLocalDateTime();
119             rv = timestamp.toInstant();
120             if ("s".equalsIgnoreCase(unit) || "sec".equalsIgnoreCase(unit) || "secs".equalsIgnoreCase(unit)
121                     || "second".equalsIgnoreCase(unit) || "seconds".equalsIgnoreCase(unit)) {
/src/main/java/com/teragrep/pth_06/planner/walker/Util.java: 115 in com.teragrep.pth_06.planner.walker.Util.relativeTimeModifier(java.sql.Timestamp, java.lang.String)()
109             Matcher matcher = Pattern.compile("^-?\\d+").matcher(value);
110     
111             if (!matcher.find())
112                 throw new NumberFormatException("Unknown relative time modifier string [" + value + "]");
113     
114             long v = Long.parseLong(matcher.group());
>>>     CID 1594367:    (NULL_RETURNS)
>>>     Calling a method on null object "matcher.group()".
115             matcher.group().length();
116             String unit = value.substring(matcher.group().length(), value.length());
117     
118             LocalDateTime now = timestamp.toLocalDateTime();
119             rv = timestamp.toInstant();
120             if ("s".equalsIgnoreCase(unit) || "sec".equalsIgnoreCase(unit) || "secs".equalsIgnoreCase(unit)
/src/main/java/com/teragrep/pth_06/planner/walker/Util.java: 114 in com.teragrep.pth_06.planner.walker.Util.relativeTimeModifier(java.sql.Timestamp, java.lang.String)()
108             Instant rv = null;
109             Matcher matcher = Pattern.compile("^-?\\d+").matcher(value);
110     
111             if (!matcher.find())
112                 throw new NumberFormatException("Unknown relative time modifier string [" + value + "]");
113     
>>>     CID 1594367:    (NULL_RETURNS)
>>>     Dereferencing a pointer that might be "null" "matcher.group()" when calling "parseLong".
114             long v = Long.parseLong(matcher.group());
115             matcher.group().length();
116             String unit = value.substring(matcher.group().length(), value.length());
117     
118             LocalDateTime now = timestamp.toLocalDateTime();
119             rv = timestamp.toInstant();

Software version

3.0.1