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.