Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler. Number of rules (primarily dangerous function names) in C/C++ ruleset: 223 Examining data/qnodeeditor-2.1.7/examples/calculator/AdditionModel.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/Converters.cpp Examining data/qnodeeditor-2.1.7/examples/calculator/Converters.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/DecimalData.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/DivisionModel.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/IntegerData.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/MathOperationDataModel.cpp Examining data/qnodeeditor-2.1.7/examples/calculator/MathOperationDataModel.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/ModuloModel.cpp Examining data/qnodeeditor-2.1.7/examples/calculator/ModuloModel.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/MultiplicationModel.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/NumberDisplayDataModel.cpp Examining data/qnodeeditor-2.1.7/examples/calculator/NumberDisplayDataModel.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/NumberSourceDataModel.cpp Examining data/qnodeeditor-2.1.7/examples/calculator/NumberSourceDataModel.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/SubtractionModel.hpp Examining data/qnodeeditor-2.1.7/examples/calculator/main.cpp Examining data/qnodeeditor-2.1.7/examples/connection_colors/main.cpp Examining data/qnodeeditor-2.1.7/examples/connection_colors/models.cpp Examining data/qnodeeditor-2.1.7/examples/connection_colors/models.hpp Examining data/qnodeeditor-2.1.7/examples/example2/TextData.hpp Examining data/qnodeeditor-2.1.7/examples/example2/TextDisplayDataModel.cpp Examining data/qnodeeditor-2.1.7/examples/example2/TextDisplayDataModel.hpp Examining data/qnodeeditor-2.1.7/examples/example2/TextSourceDataModel.cpp Examining data/qnodeeditor-2.1.7/examples/example2/TextSourceDataModel.hpp Examining data/qnodeeditor-2.1.7/examples/example2/main.cpp Examining data/qnodeeditor-2.1.7/examples/ff/BoolConditionModel.cpp Examining data/qnodeeditor-2.1.7/examples/ff/BoolConditionModel.hpp Examining data/qnodeeditor-2.1.7/examples/ff/BoolFunctionModel.cpp Examining data/qnodeeditor-2.1.7/examples/ff/BoolFunctionModel.hpp Examining data/qnodeeditor-2.1.7/examples/ff/ExpressionBoolData.hpp Examining data/qnodeeditor-2.1.7/examples/ff/ExpressionConstantModel.cpp Examining data/qnodeeditor-2.1.7/examples/ff/ExpressionConstantModel.hpp Examining data/qnodeeditor-2.1.7/examples/ff/ExpressionDisplayModel.cpp Examining data/qnodeeditor-2.1.7/examples/ff/ExpressionDisplayModel.hpp Examining data/qnodeeditor-2.1.7/examples/ff/ExpressionRangeData.hpp Examining data/qnodeeditor-2.1.7/examples/ff/ExpressionSourceModel.cpp Examining data/qnodeeditor-2.1.7/examples/ff/ExpressionSourceModel.hpp Examining data/qnodeeditor-2.1.7/examples/ff/ExpressionStepRangeModel.cpp Examining data/qnodeeditor-2.1.7/examples/ff/ExpressionStepRangeModel.hpp Examining data/qnodeeditor-2.1.7/examples/ff/IfConditionModel.cpp Examining data/qnodeeditor-2.1.7/examples/ff/IfConditionModel.hpp Examining data/qnodeeditor-2.1.7/examples/ff/IntervalConditionModel.cpp Examining data/qnodeeditor-2.1.7/examples/ff/IntervalConditionModel.hpp Examining data/qnodeeditor-2.1.7/examples/ff/MathFunctionModel.cpp Examining data/qnodeeditor-2.1.7/examples/ff/MathFunctionModel.hpp Examining data/qnodeeditor-2.1.7/examples/ff/PlotModel.cpp Examining data/qnodeeditor-2.1.7/examples/ff/PlotModel.hpp Examining data/qnodeeditor-2.1.7/examples/ff/main.cpp Examining data/qnodeeditor-2.1.7/examples/images/ImageLoaderModel.cpp Examining data/qnodeeditor-2.1.7/examples/images/ImageLoaderModel.hpp Examining data/qnodeeditor-2.1.7/examples/images/ImageShowModel.cpp Examining data/qnodeeditor-2.1.7/examples/images/ImageShowModel.hpp Examining data/qnodeeditor-2.1.7/examples/images/PixmapData.hpp Examining data/qnodeeditor-2.1.7/examples/images/main.cpp Examining data/qnodeeditor-2.1.7/examples/state_machine/StateNodeModel.cpp Examining data/qnodeeditor-2.1.7/examples/state_machine/StateNodeModel.hpp Examining data/qnodeeditor-2.1.7/examples/state_machine/main.cpp Examining data/qnodeeditor-2.1.7/examples/styles/main.cpp Examining data/qnodeeditor-2.1.7/examples/styles/models.cpp Examining data/qnodeeditor-2.1.7/examples/styles/models.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/Compiler.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/Connection.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/ConnectionGeometry.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/ConnectionGraphicsObject.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/ConnectionState.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/ConnectionStyle.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/DataModelRegistry.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/Export.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/FlowScene.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/FlowView.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/FlowViewStyle.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/Node.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/NodeData.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/NodeDataModel.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/NodeGeometry.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/NodeGraphicsObject.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/NodePainterDelegate.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/NodeState.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/NodeStyle.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/OperatingSystem.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/PortType.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/QStringStdHash.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/QUuidStdHash.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/Serializable.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/Style.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/TypeConverter.hpp Examining data/qnodeeditor-2.1.7/include/nodes/internal/memory.hpp Examining data/qnodeeditor-2.1.7/src/Connection.cpp Examining data/qnodeeditor-2.1.7/src/ConnectionBlurEffect.cpp Examining data/qnodeeditor-2.1.7/src/ConnectionBlurEffect.hpp Examining data/qnodeeditor-2.1.7/src/ConnectionGeometry.cpp Examining data/qnodeeditor-2.1.7/src/ConnectionGraphicsObject.cpp Examining data/qnodeeditor-2.1.7/src/ConnectionPainter.cpp Examining data/qnodeeditor-2.1.7/src/ConnectionPainter.hpp Examining data/qnodeeditor-2.1.7/src/ConnectionState.cpp Examining data/qnodeeditor-2.1.7/src/ConnectionStyle.cpp Examining data/qnodeeditor-2.1.7/src/DataModelRegistry.cpp Examining data/qnodeeditor-2.1.7/src/FlowScene.cpp Examining data/qnodeeditor-2.1.7/src/FlowView.cpp Examining data/qnodeeditor-2.1.7/src/FlowViewStyle.cpp Examining data/qnodeeditor-2.1.7/src/Node.cpp Examining data/qnodeeditor-2.1.7/src/NodeConnectionInteraction.cpp Examining data/qnodeeditor-2.1.7/src/NodeConnectionInteraction.hpp Examining data/qnodeeditor-2.1.7/src/NodeDataModel.cpp Examining data/qnodeeditor-2.1.7/src/NodeGeometry.cpp Examining data/qnodeeditor-2.1.7/src/NodeGraphicsObject.cpp Examining data/qnodeeditor-2.1.7/src/NodePainter.cpp Examining data/qnodeeditor-2.1.7/src/NodePainter.hpp Examining data/qnodeeditor-2.1.7/src/NodeState.cpp Examining data/qnodeeditor-2.1.7/src/NodeStyle.cpp Examining data/qnodeeditor-2.1.7/src/Properties.cpp Examining data/qnodeeditor-2.1.7/src/Properties.hpp Examining data/qnodeeditor-2.1.7/src/StyleCollection.cpp Examining data/qnodeeditor-2.1.7/src/StyleCollection.hpp Examining data/qnodeeditor-2.1.7/test/include/ApplicationSetup.hpp Examining data/qnodeeditor-2.1.7/test/include/Stringify.hpp Examining data/qnodeeditor-2.1.7/test/include/StubNodeDataModel.hpp Examining data/qnodeeditor-2.1.7/test/src/TestDataModelRegistry.cpp Examining data/qnodeeditor-2.1.7/test/src/TestDragging.cpp Examining data/qnodeeditor-2.1.7/test/src/TestFlowScene.cpp Examining data/qnodeeditor-2.1.7/test/src/TestNodeGraphicsObject.cpp Examining data/qnodeeditor-2.1.7/test/test_main.cpp FINAL RESULTS: data/qnodeeditor-2.1.7/src/ConnectionStyle.cpp:86:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QIODevice::ReadOnly)) data/qnodeeditor-2.1.7/src/FlowScene.cpp:300:18: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (file.open(QIODevice::WriteOnly)) data/qnodeeditor-2.1.7/src/FlowScene.cpp:312:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QIODevice::ReadOnly)) data/qnodeeditor-2.1.7/src/FlowViewStyle.cpp:66:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QIODevice::ReadOnly)) data/qnodeeditor-2.1.7/src/NodeStyle.cpp:73:15: [2] (misc) open: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). if (!file.open(QIODevice::ReadOnly)) ANALYSIS SUMMARY: Hits = 5 Lines analyzed = 9504 in approximately 0.22 seconds (44156 lines/second) Physical Source Lines of Code (SLOC) = 8803 Hits@level = [0] 0 [1] 0 [2] 5 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 5 [1+] 5 [2+] 5 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 0.567988 [1+] 0.567988 [2+] 0.567988 [3+] 0 [4+] 0 [5+] 0 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.