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/kitemmodels-5.74.0/autotests/klinkitemselectionmodeltest.cpp Examining data/kitemmodels-5.74.0/autotests/test_model_helpers.h Examining data/kitemmodels-5.74.0/autotests/kselectionproxymodeltestsuite.h Examining data/kitemmodels-5.74.0/autotests/kextracolumnsproxymodeltest.cpp Examining data/kitemmodels-5.74.0/autotests/kcolumnheadersmodeltest.cpp Examining data/kitemmodels-5.74.0/autotests/krearrangecolumnsproxymodeltest.cpp Examining data/kitemmodels-5.74.0/autotests/ksortfilterproxymodel_qml.cpp Examining data/kitemmodels-5.74.0/autotests/kselectionproxymodeltest.cpp Examining data/kitemmodels-5.74.0/autotests/kmodelindexproxymappertest.cpp Examining data/kitemmodels-5.74.0/autotests/bihash/functionalitytest.cpp Examining data/kitemmodels-5.74.0/autotests/bihash/benchmarks.cpp Examining data/kitemmodels-5.74.0/autotests/kdescendantsproxymodel_smoketest.cpp Examining data/kitemmodels-5.74.0/autotests/kdescendantsproxymodeltest.cpp Examining data/kitemmodels-5.74.0/autotests/kselectionproxymodeltestsuite.cpp Examining data/kitemmodels-5.74.0/autotests/klinkitemselectionmodeltest.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/proxymodeltest.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/persistentchangelist.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modelcommander.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/eventloggerregister.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modelspy.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modelselector.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modeleventlogger.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/templates/modelreset.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/templates/layoutchanged.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/templates/init.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/templates/datachanged.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/templates/rowsremoved.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/templates/main.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/templates/rowsinserted.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modeleventlogger.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/dynamictreewidget.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modeltest.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modelselector.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/proxymodeltest.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/indexfinder.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modeldumper.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modelcommander.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modeldumper.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/dynamictreemodel.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/eventloggerregister.cpp Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/dynamictreemodel.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modelspy.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/dynamictreewidget.h Examining data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modeltest.h Examining data/kitemmodels-5.74.0/autotests/knumbermodeltest.cpp Examining data/kitemmodels-5.74.0/autotests/kconcatenaterowsproxymodeltest.cpp Examining data/kitemmodels-5.74.0/autotests/kselectionproxymodel_smoketest.cpp Examining data/kitemmodels-5.74.0/autotests/krecursivefilterproxymodeltest.cpp Examining data/kitemmodels-5.74.0/autotests/kconcatenaterows_qml.cpp Examining data/kitemmodels-5.74.0/tests/rearrangecolumns.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/lessthanwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/scriptablereparentingwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/checkablewidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/mainwindow.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/breadcrumbswidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/recursivefilterpmwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/reparentingpmwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/reparentingpmwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/proxymodeltestwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/proxymodeltestwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/proxyitemselectionwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/mainwindow.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/statesaverwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/lessthanwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/kreparentingproxymodel.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/selectioninqmlwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/kidentityproxymodelwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/descendantpmwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/modelcommanderwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/kreparentingproxymodel.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/breadcrumbnavigationwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/main.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/statesaverwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/descendantpmwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/proxyitemselectionwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/kidentityproxymodelwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/matchcheckingwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/matchcheckingwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/checkablewidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/selectioninqmlwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/breadcrumbdirectionwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/breadcrumbdirectionwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/recursivefilterpmwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/modelcommanderwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/selectionpmwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/selectionpmwidget.h Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/breadcrumbnavigationwidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/breadcrumbswidget.cpp Examining data/kitemmodels-5.74.0/tests/proxymodeltestapp/scriptablereparentingwidget.h Examining data/kitemmodels-5.74.0/src/qml/plugin.cpp Examining data/kitemmodels-5.74.0/src/qml/kconcatenaterowsproxymodel_qml.h Examining data/kitemmodels-5.74.0/src/qml/kconcatenaterowsproxymodel_qml.cpp Examining data/kitemmodels-5.74.0/src/qml/plugin.h Examining data/kitemmodels-5.74.0/src/qml/ksortfilterproxymodel.h Examining data/kitemmodels-5.74.0/src/qml/ksortfilterproxymodel.cpp Examining data/kitemmodels-5.74.0/src/core/kselectionproxymodel.cpp Examining data/kitemmodels-5.74.0/src/core/kdescendantsproxymodel.h Examining data/kitemmodels-5.74.0/src/core/kmodelindexproxymapper.cpp Examining data/kitemmodels-5.74.0/src/core/kvoidpointerfactory_p.h Examining data/kitemmodels-5.74.0/src/core/kcolumnheadersmodel.cpp Examining data/kitemmodels-5.74.0/src/core/kcheckableproxymodel.cpp Examining data/kitemmodels-5.74.0/src/core/kcolumnheadersmodel.h Examining data/kitemmodels-5.74.0/src/core/krearrangecolumnsproxymodel.h Examining data/kitemmodels-5.74.0/src/core/kdescendantsproxymodel.cpp Examining data/kitemmodels-5.74.0/src/core/kselectionproxymodel.h Examining data/kitemmodels-5.74.0/src/core/krearrangecolumnsproxymodel.cpp Examining data/kitemmodels-5.74.0/src/core/kextracolumnsproxymodel.h Examining data/kitemmodels-5.74.0/src/core/krecursivefilterproxymodel.cpp Examining data/kitemmodels-5.74.0/src/core/kbreadcrumbselectionmodel.h Examining data/kitemmodels-5.74.0/src/core/kextracolumnsproxymodel.cpp Examining data/kitemmodels-5.74.0/src/core/klinkitemselectionmodel.cpp Examining data/kitemmodels-5.74.0/src/core/kcheckableproxymodel.h Examining data/kitemmodels-5.74.0/src/core/krecursivefilterproxymodel.h Examining data/kitemmodels-5.74.0/src/core/kconcatenaterowsproxymodel.cpp Examining data/kitemmodels-5.74.0/src/core/klinkitemselectionmodel.h Examining data/kitemmodels-5.74.0/src/core/kbihash_p.h Examining data/kitemmodels-5.74.0/src/core/kconcatenaterowsproxymodel.h Examining data/kitemmodels-5.74.0/src/core/knumbermodel.h Examining data/kitemmodels-5.74.0/src/core/kbreadcrumbselectionmodel.cpp Examining data/kitemmodels-5.74.0/src/core/kmodelindexproxymapper.h Examining data/kitemmodels-5.74.0/src/core/knumbermodel.cpp FINAL RESULTS: data/kitemmodels-5.74.0/src/core/knumbermodel.cpp:122:36: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. auto locale = QLocale::system(); data/kitemmodels-5.74.0/autotests/bihash/functionalitytest.cpp:96: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). outBuffer.open(QIODevice::WriteOnly); data/kitemmodels-5.74.0/autotests/bihash/functionalitytest.cpp:104:14: [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). inBuffer.open(QIODevice::ReadOnly); data/kitemmodels-5.74.0/autotests/proxymodeltestsuite/modeleventlogger.cpp:203:43: [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). const bool logFileOpened = outputFile.open(QFile::WriteOnly | QFile::Text); ANALYSIS SUMMARY: Hits = 4 Lines analyzed = 24850 in approximately 0.87 seconds (28506 lines/second) Physical Source Lines of Code (SLOC) = 17327 Hits@level = [0] 5 [1] 0 [2] 3 [3] 0 [4] 1 [5] 0 Hits@level+ = [0+] 9 [1+] 4 [2+] 4 [3+] 1 [4+] 1 [5+] 0 Hits/KSLOC@level+ = [0+] 0.519421 [1+] 0.230854 [2+] 0.230854 [3+] 0.0577134 [4+] 0.0577134 [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.