The following document contains the results of FindBugs Report
FindBugs Version is 1.2.0
Threshold is Low
Effort is Default
Classes | Bugs | Errors | Missing Classes |
---|---|---|---|
757 | 110 | 0 | 0 |
Bug | Category | Details | Line |
---|---|---|---|
Immediate dereference of the result of readLine() in org.jrobin.cmd.RrdCommander.main(String[]) | STYLE | NP_IMMEDIATE_DEREFERENCE_OF_READLINE | 159 |
Possible null pointer dereference in org.jrobin.cmd.RrdCommander.main(String[]) due to return value of called method | STYLE | NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE | 159 |
Exception is caught when Exception is not thrown in org.jrobin.cmd.RrdCommander.main(String[]) | STYLE | REC_CATCH_EXCEPTION | 169 |
Bug | Category | Details | Line |
---|---|---|---|
RrdCreateCmd.rrdDef not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Method call in org.jrobin.cmd.RrdGraphCmd.parseArea(String) passes null for unconditionally dereferenced parameter of org.jrobin.graph.RrdGraphDef.area(String, Paint, String) | CORRECTNESS | NP_NULL_PARAM_DEREF | 261 |
RrdGraphCmd.gdef not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
RrdToolCmd.cmdScanner not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
RrdXportCmd.dproc not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
RrdXportCmd.xports not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.convertor.Convertor.Convertor(String[]) invokes System.exit(...), which shuts down the entire virtual machine | BAD_PRACTICE | DM_EXIT | 54 |
Exception is caught when Exception is not thrown in org.jrobin.convertor.Convertor.convertFile(String) | STYLE | REC_CATCH_EXCEPTION | 97 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.ArcDef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 148-152 |
org.jrobin.core.ArcDef.CONSOL_FUNS is a mutable array | MALICIOUS_CODE | MS_MUTABLE_ARRAY | 49 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.DsDef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 191-195 |
org.jrobin.core.DsDef.DS_TYPES is a mutable array | MALICIOUS_CODE | MS_MUTABLE_ARRAY | 48 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.FetchData.getDsNames() may expose internal representation by returning FetchData.dsNames | MALICIOUS_CODE | EI_EXPOSE_REP | 232 |
org.jrobin.core.FetchData.getTimestamps() may expose internal representation by returning FetchData.timestamps | MALICIOUS_CODE | EI_EXPOSE_REP | 118 |
org.jrobin.core.FetchData.getValues() may expose internal representation by returning FetchData.values | MALICIOUS_CODE | EI_EXPOSE_REP | 150 |
FetchData.timestamps not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
FetchData.values not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.FetchRequest.getFilter() may expose internal representation by returning FetchRequest.filter | MALICIOUS_CODE | EI_EXPOSE_REP | 109 |
org.jrobin.core.FetchRequest.setFilter(String[]) may expose internal representation by storing an externally mutable object into FetchRequest.filter | MALICIOUS_CODE | EI_EXPOSE_REP2 | 71 |
Method org.jrobin.core.FetchRequest.setFilter(Set) uses Collection.toArray() with zero-length array argument | PERFORMANCE | ITA_INEFFICIENT_TO_ARRAY | 85 |
Bug | Category | Details | Line |
---|---|---|---|
Write to static field org.jrobin.core.RrdBackend.instanceCreated from instance method org.jrobin.core.RrdBackend.RrdBackend(String) | STYLE | ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | 83 |
Bug | Category | Details | Line |
---|---|---|---|
Method org.jrobin.core.RrdDbPool.getOpenFiles() uses Collection.toArray() with zero-length array argument | PERFORMANCE | ITA_INEFFICIENT_TO_ARRAY | 224 |
Bug | Category | Details | Line |
---|---|---|---|
Should org.jrobin.core.RrdDbPool$RrdEntry be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | Not available |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.RrdDef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 613-658 |
Method org.jrobin.core.RrdDef.getArcDefs() uses Collection.toArray() with zero-length array argument | PERFORMANCE | ITA_INEFFICIENT_TO_ARRAY | 433 |
Method org.jrobin.core.RrdDef.getDsDefs() uses Collection.toArray() with zero-length array argument | PERFORMANCE | ITA_INEFFICIENT_TO_ARRAY | 424 |
Confusing to have methods org.jrobin.core.RrdDef.getDsCount() and org.jrobin.core.jrrd.Header.getDSCount() | BAD_PRACTICE | NM_CONFUSING | 442 |
Bug | Category | Details | Line |
---|---|---|---|
Result of integer multiplication cast to long in org.jrobin.core.RrdPrimitive.readDouble(int) | STYLE | ICAST_INTEGER_MULTIPLY_CAST_TO_LONG | 83 |
Result of integer multiplication cast to long in org.jrobin.core.RrdPrimitive.readDouble(int, int) | STYLE | ICAST_INTEGER_MULTIPLY_CAST_TO_LONG | 88 |
Result of integer multiplication cast to long in org.jrobin.core.RrdPrimitive.writeDouble(int, double, int) | STYLE | ICAST_INTEGER_MULTIPLY_CAST_TO_LONG | 97 |
Result of integer multiplication cast to long in org.jrobin.core.RrdPrimitive.writeDouble(int, double[]) | STYLE | ICAST_INTEGER_MULTIPLY_CAST_TO_LONG | 102 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.Sample.getDsNames() may expose internal representation by returning Sample.dsNames | MALICIOUS_CODE | EI_EXPOSE_REP | 167 |
org.jrobin.core.Sample.getValues() may expose internal representation by returning Sample.values | MALICIOUS_CODE | EI_EXPOSE_REP | 137 |
Bug | Category | Details | Line |
---|---|---|---|
Method org.jrobin.core.Util$Xml.getChildNodes(Node, String) uses Collection.toArray() with zero-length array argument | PERFORMANCE | ITA_INEFFICIENT_TO_ARRAY | 509 |
Bug | Category | Details | Line |
---|---|---|---|
Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 147 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.jrrd.Archive.getValues() may expose internal representation by returning Archive.values | MALICIOUS_CODE | EI_EXPOSE_REP | 331 |
org.jrobin.core.jrrd.Archive.getValues() may expose internal representation by returning Archive.values | MALICIOUS_CODE | EI_EXPOSE_REP | 349 |
Result of integer multiplication cast to long in org.jrobin.core.jrrd.Archive.getValues() | STYLE | ICAST_INTEGER_MULTIPLY_CAST_TO_LONG | 336 |
Result of integer multiplication cast to long in org.jrobin.core.jrrd.Archive.toXml(PrintStream) | STYLE | ICAST_INTEGER_MULTIPLY_CAST_TO_LONG | 247 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.jrrd.ConsolidationFunctionType defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 90-94 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.jrrd.DataSourceType defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 88-92 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.jrrd.Main.usage(int) invokes System.exit(...), which shuts down the entire virtual machine | BAD_PRACTICE | DM_EXIT | 49 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.jrrd.RRDFile.initDataLayout(File) ignores result of java.io.RandomAccessFile.read(byte[], int, int) | BAD_PRACTICE | RR_NOT_CHECKED | 46 |
org.jrobin.core.jrrd.RRDFile.readDouble() ignores result of java.io.RandomAccessFile.read(byte[], int, int) | BAD_PRACTICE | RR_NOT_CHECKED | 98 |
org.jrobin.core.jrrd.RRDFile.readInt(boolean) ignores result of java.io.RandomAccessFile.read(byte[], int, int) | BAD_PRACTICE | RR_NOT_CHECKED | 121 |
org.jrobin.core.jrrd.RRDFile.readString(int) ignores result of java.io.RandomAccessFile.read(byte[], int, int) | BAD_PRACTICE | RR_NOT_CHECKED | 139 |
org.jrobin.core.jrrd.RRDFile.align(int) ignores result of java.io.RandomAccessFile.skipBytes(int) | BAD_PRACTICE | SR_NOT_CHECKED | 153 |
org.jrobin.core.jrrd.RRDFile.skipBytes(int) ignores result of java.io.RandomAccessFile.skipBytes(int) | BAD_PRACTICE | SR_NOT_CHECKED | 145 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.core.jrrd.RRDatabase.getLastUpdate() may expose internal representation by returning RRDatabase.lastUpdate | MALICIOUS_CODE | EI_EXPOSE_REP | 130 |
Bug | Category | Details | Line |
---|---|---|---|
Switch statement found in org.jrobin.core.timespec.TimeParser.day() where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 212-215 |
Switch statement found in org.jrobin.core.timespec.TimeParser.plusMinus(int) where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 109-112 |
Switch statement found in org.jrobin.core.timespec.TimeParser.parse() where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 329-332 |
Bug | Category | Details | Line |
---|---|---|---|
TimeScanner.token not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.data.CubicSplineInterpolator.CubicSplineInterpolator(double[], double[]) may expose internal representation by storing an externally mutable object into CubicSplineInterpolator.x | MALICIOUS_CODE | EI_EXPOSE_REP2 | 116 |
org.jrobin.data.CubicSplineInterpolator.CubicSplineInterpolator(double[], double[]) may expose internal representation by storing an externally mutable object into CubicSplineInterpolator.y | MALICIOUS_CODE | EI_EXPOSE_REP2 | 117 |
org.jrobin.data.CubicSplineInterpolator.CubicSplineInterpolator(long[], double[]) may expose internal representation by storing an externally mutable object into CubicSplineInterpolator.y | MALICIOUS_CODE | EI_EXPOSE_REP2 | 64 |
org.jrobin.data.CubicSplineInterpolator.CubicSplineInterpolator(Calendar[], double[]) may expose internal representation by storing an externally mutable object into CubicSplineInterpolator.y | MALICIOUS_CODE | EI_EXPOSE_REP2 | 102 |
org.jrobin.data.CubicSplineInterpolator.CubicSplineInterpolator(Date[], double[]) may expose internal representation by storing an externally mutable object into CubicSplineInterpolator.y | MALICIOUS_CODE | EI_EXPOSE_REP2 | 83 |
Computation of average could overflow in org.jrobin.data.CubicSplineInterpolator.getValue(double) | STYLE | IM_AVERAGE_COMPUTATION_COULD_OVERFLOW | 177 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.data.DataProcessor.getTimestamps() may expose internal representation by returning DataProcessor.timestamps | MALICIOUS_CODE | EI_EXPOSE_REP | 256 |
Method org.jrobin.data.DataProcessor.getSourceNames() uses Collection.toArray() with zero-length array argument | PERFORMANCE | ITA_INEFFICIENT_TO_ARRAY | 375 |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.data.LinearInterpolator.LinearInterpolator(long[], double[]) may expose internal representation by storing an externally mutable object into LinearInterpolator.timestamps | MALICIOUS_CODE | EI_EXPOSE_REP2 | 83 |
org.jrobin.data.LinearInterpolator.LinearInterpolator(long[], double[]) may expose internal representation by storing an externally mutable object into LinearInterpolator.values | MALICIOUS_CODE | EI_EXPOSE_REP2 | 84 |
org.jrobin.data.LinearInterpolator.LinearInterpolator(Calendar[], double[]) may expose internal representation by storing an externally mutable object into LinearInterpolator.values | MALICIOUS_CODE | EI_EXPOSE_REP2 | 114 |
org.jrobin.data.LinearInterpolator.LinearInterpolator(Date[], double[]) may expose internal representation by storing an externally mutable object into LinearInterpolator.values | MALICIOUS_CODE | EI_EXPOSE_REP2 | 97 |
Switch statement found in org.jrobin.data.LinearInterpolator.setInterpolationMethod(int) where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 164-168 |
Bug | Category | Details | Line |
---|---|---|---|
Test for floating point equality in org.jrobin.data.RpnCalculator.calculateValues() | STYLE | FE_FLOATING_POINT_EQUALITY | 374 |
int value cast to float and then passed to Math.round in org.jrobin.data.RpnCalculator.calculateValues() | CORRECTNESS | ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND | 416 |
Bug | Category | Details | Line |
---|---|---|---|
Should org.jrobin.data.RpnCalculator$RpnStack be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Should org.jrobin.data.RpnCalculator$Token be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | Not available |
Bug | Category | Details | Line |
---|---|---|---|
CommentText.marker not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
CommentText.resolvedText not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
The field name org.jrobin.graph.GifPixelsEncoder.ClearCode doesn't start with an lower case letter | BAD_PRACTICE | NM_FIELD_NAMING_CONVENTION | Not available |
Bug | Category | Details | Line |
---|---|---|---|
int division result cast to double or float in org.jrobin.graph.Normalizer.Normalizer(long, long, int) | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 39 |
Bug | Category | Details | Line |
---|---|---|---|
Should org.jrobin.graph.PathIterator.getNextPath() return a zero length array rather than null? | STYLE | PZLA_PREFER_ZERO_LENGTH_ARRAYS | 52 |
Bug | Category | Details | Line |
---|---|---|---|
int division result cast to double or float in org.jrobin.graph.RrdGraph.identifySiUnit() | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 459 |
Bug | Category | Details | Line |
---|---|---|---|
Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 259 |
org.jrobin.graph.RrdGraphConstants.COLOR_NAMES should be moved out of an interface and made package protected | MALICIOUS_CODE | MS_OOI_PKGPROTECT | 142 |
org.jrobin.graph.RrdGraphConstants.MARKERS should be moved out of an interface and made package protected | MALICIOUS_CODE | MS_OOI_PKGPROTECT | 221 |
Bug | Category | Details | Line |
---|---|---|---|
Usage of GetResource in org.jrobin.graph.RrdGraphDef.getFontFromResourceName(String) may be unsafe if class is extended | BAD_PRACTICE | UI_INHERITANCE_UNSAFE_GETRESOURCE | 163 |
Unread field: org.jrobin.graph.RrdGraphDef.interlaced | PERFORMANCE | URF_UNREAD_FIELD | 84 |
Bug | Category | Details | Line |
---|---|---|---|
Dead store to NOT_SET in org.jrobin.graph.RrdGraphDefTemplate.resolveTimeGrid(Node) | STYLE | DLS_DEAD_LOCAL_STORE | 911 |
Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 842 |
RrdGraphDefTemplate.rrdGraphDef not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.graph.RrdGraphInfo.getBytes() may expose internal representation by returning RrdGraphInfo.bytes | MALICIOUS_CODE | EI_EXPOSE_REP | 82 |
Bug | Category | Details | Line |
---|---|---|---|
int division result cast to double or float in org.jrobin.graph.TimeAxis.TimeAxis(RrdGraph) | STYLE | ICAST_IDIV_CAST_TO_DOUBLE | 60 |
Bug | Category | Details | Line |
---|---|---|---|
Test for floating point equality in org.jrobin.graph.ValueAxisMrtg.draw() | STYLE | FE_FLOATING_POINT_EQUALITY | 60 |
Bug | Category | Details | Line |
---|---|---|---|
ArchiveTableModel.file not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Exception is caught when Exception is not thrown in org.jrobin.inspector.DataTableModel.setValueAt(Object, int, int) | STYLE | REC_CATCH_EXCEPTION | 92 |
DataTableModel.file not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
DataTableModel.values not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
DatasourceTableModel.file not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Class org.jrobin.inspector.EditArchiveDialog defines non-transient non-serializable instance field arcDef | BAD_PRACTICE | SE_BAD_FIELD | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Class org.jrobin.inspector.EditDatasourceDialog defines non-transient non-serializable instance field dsDef | BAD_PRACTICE | SE_BAD_FIELD | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 245 |
Class org.jrobin.inspector.GraphFrame defines non-transient non-serializable instance field rrdGraph | BAD_PRACTICE | SE_BAD_FIELD | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 232 |
The class org.jrobin.inspector.GraphFrame$7 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Should org.jrobin.inspector.GraphFrame$GraphComboItem be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Class org.jrobin.inspector.RrdInspector defines non-transient non-serializable instance field inspectorModel | BAD_PRACTICE | SE_BAD_FIELD | Not available |
Bug | Category | Details | Line |
---|---|---|---|
org.jrobin.inspector.RrdInspector$12.actionPerformed(ActionEvent) invokes System.exit(...), which shuts down the entire virtual machine | BAD_PRACTICE | DM_EXIT | 242 |
The class org.jrobin.inspector.RrdInspector$12 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |
Bug | Category | Details | Line |
---|---|---|---|
Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 316 |
The class org.jrobin.inspector.RrdInspector$15 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |
Bug | Category | Details | Line |
---|---|---|---|
The class org.jrobin.inspector.RrdInspector$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |
Bug | Category | Details | Line |
---|---|---|---|
The class org.jrobin.inspector.RrdInspector$4 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |