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/kdevelop-python-5.6.0/pythonlanguagesupport.h Examining data/kdevelop-python-5.6.0/pythonstylechecking.cpp Examining data/kdevelop-python-5.6.0/duchain/contextbuilder.h Examining data/kdevelop-python-5.6.0/duchain/navigation/declarationnavigationcontext.h Examining data/kdevelop-python-5.6.0/duchain/navigation/declarationnavigationcontext.cpp Examining data/kdevelop-python-5.6.0/duchain/navigation/navigationwidget.cpp Examining data/kdevelop-python-5.6.0/duchain/navigation/navigationwidget.h Examining data/kdevelop-python-5.6.0/duchain/helpers.h Examining data/kdevelop-python-5.6.0/duchain/contextbuilder.cpp Examining data/kdevelop-python-5.6.0/duchain/dumpchain.h Examining data/kdevelop-python-5.6.0/duchain/assistants/missingincludeassistant.cpp Examining data/kdevelop-python-5.6.0/duchain/assistants/missingincludeassistant.h Examining data/kdevelop-python-5.6.0/duchain/expressionvisitor.h Examining data/kdevelop-python-5.6.0/duchain/helpers.cpp Examining data/kdevelop-python-5.6.0/duchain/pythoneditorintegrator.cpp Examining data/kdevelop-python-5.6.0/duchain/pythonducontext.cpp Examining data/kdevelop-python-5.6.0/duchain/correctionhelper.h Examining data/kdevelop-python-5.6.0/duchain/declarations/functiondeclaration.cpp Examining data/kdevelop-python-5.6.0/duchain/declarations/functiondeclaration.h Examining data/kdevelop-python-5.6.0/duchain/types/unsuretype.h Examining data/kdevelop-python-5.6.0/duchain/types/nonetype.h Examining data/kdevelop-python-5.6.0/duchain/types/indexedcontainer.h Examining data/kdevelop-python-5.6.0/duchain/types/nonetype.cpp Examining data/kdevelop-python-5.6.0/duchain/types/hintedtype.h Examining data/kdevelop-python-5.6.0/duchain/types/unsuretype.cpp Examining data/kdevelop-python-5.6.0/duchain/types/hintedtype.cpp Examining data/kdevelop-python-5.6.0/duchain/types/indexedcontainer.cpp Examining data/kdevelop-python-5.6.0/duchain/usebuilder.h Examining data/kdevelop-python-5.6.0/duchain/pythonducontext.h Examining data/kdevelop-python-5.6.0/duchain/declarationbuilder.cpp Examining data/kdevelop-python-5.6.0/duchain/expressionvisitor.cpp Examining data/kdevelop-python-5.6.0/duchain/tests/duchainbench.h Examining data/kdevelop-python-5.6.0/duchain/tests/pyduchaintest.h Examining data/kdevelop-python-5.6.0/duchain/tests/duchainbench.cpp Examining data/kdevelop-python-5.6.0/duchain/tests/pyduchaintest.cpp Examining data/kdevelop-python-5.6.0/duchain/usebuilder.cpp Examining data/kdevelop-python-5.6.0/duchain/pythoneditorintegrator.h Examining data/kdevelop-python-5.6.0/duchain/dumpchain.cpp Examining data/kdevelop-python-5.6.0/duchain/correctionhelper.cpp Examining data/kdevelop-python-5.6.0/duchain/declarationbuilder.h Examining data/kdevelop-python-5.6.0/docfilekcm/docfilewizard.h Examining data/kdevelop-python-5.6.0/docfilekcm/kcm_docfiles.h Examining data/kdevelop-python-5.6.0/docfilekcm/docfilemanagerwidget.h Examining data/kdevelop-python-5.6.0/docfilekcm/docfilemanagerwidget.cpp Examining data/kdevelop-python-5.6.0/docfilekcm/kcm_docfiles.cpp Examining data/kdevelop-python-5.6.0/docfilekcm/docfilewizard.cpp Examining data/kdevelop-python-5.6.0/pythonlanguagesupport.cpp Examining data/kdevelop-python-5.6.0/pythonhighlighting.cpp Examining data/kdevelop-python-5.6.0/pythonparsejob.cpp Examining data/kdevelop-python-5.6.0/pythonhighlighting.h Examining data/kdevelop-python-5.6.0/debugger/pdbframestackmodel.cpp Examining data/kdevelop-python-5.6.0/debugger/pdbframestackmodel.h Examining data/kdevelop-python-5.6.0/debugger/variablecontroller.cpp Examining data/kdevelop-python-5.6.0/debugger/debugjob.cpp Examining data/kdevelop-python-5.6.0/debugger/pdbdebuggerplugin.h Examining data/kdevelop-python-5.6.0/debugger/pdblauncher.cpp Examining data/kdevelop-python-5.6.0/debugger/debugjob.h Examining data/kdevelop-python-5.6.0/debugger/debugsession.h Examining data/kdevelop-python-5.6.0/debugger/variable.h Examining data/kdevelop-python-5.6.0/debugger/variablecontroller.h Examining data/kdevelop-python-5.6.0/debugger/breakpointcontroller.h Examining data/kdevelop-python-5.6.0/debugger/pdblauncher.h Examining data/kdevelop-python-5.6.0/debugger/debugsession.cpp Examining data/kdevelop-python-5.6.0/debugger/pdbdebuggerplugin.cpp Examining data/kdevelop-python-5.6.0/debugger/variable.cpp Examining data/kdevelop-python-5.6.0/debugger/breakpointcontroller.cpp Examining data/kdevelop-python-5.6.0/projectconfig/projectconfigpage.h Examining data/kdevelop-python-5.6.0/projectconfig/projectconfigpage.cpp Examining data/kdevelop-python-5.6.0/codecompletion/model.cpp Examining data/kdevelop-python-5.6.0/codecompletion/helpers.h Examining data/kdevelop-python-5.6.0/codecompletion/helpers.cpp Examining data/kdevelop-python-5.6.0/codecompletion/context.h Examining data/kdevelop-python-5.6.0/codecompletion/context.cpp Examining data/kdevelop-python-5.6.0/codecompletion/worker.cpp Examining data/kdevelop-python-5.6.0/codecompletion/tests/pycompletiontest.cpp Examining data/kdevelop-python-5.6.0/codecompletion/tests/pycompletiontest.h Examining data/kdevelop-python-5.6.0/codecompletion/worker.h Examining data/kdevelop-python-5.6.0/codecompletion/model.h Examining data/kdevelop-python-5.6.0/codecompletion/items/importfile.h Examining data/kdevelop-python-5.6.0/codecompletion/items/declaration.cpp Examining data/kdevelop-python-5.6.0/codecompletion/items/missingincludeitem.cpp Examining data/kdevelop-python-5.6.0/codecompletion/items/missingincludeitem.h Examining data/kdevelop-python-5.6.0/codecompletion/items/replacementvariable.h Examining data/kdevelop-python-5.6.0/codecompletion/items/replacementvariable.cpp Examining data/kdevelop-python-5.6.0/codecompletion/items/keyword.h Examining data/kdevelop-python-5.6.0/codecompletion/items/importfile.cpp Examining data/kdevelop-python-5.6.0/codecompletion/items/declaration.h Examining data/kdevelop-python-5.6.0/codecompletion/items/implementfunction.h Examining data/kdevelop-python-5.6.0/codecompletion/items/implementfunction.cpp Examining data/kdevelop-python-5.6.0/codecompletion/items/functiondeclaration.cpp Examining data/kdevelop-python-5.6.0/codecompletion/items/functiondeclaration.h Examining data/kdevelop-python-5.6.0/codecompletion/items/keyword.cpp Examining data/kdevelop-python-5.6.0/pythonparsejob.h Examining data/kdevelop-python-5.6.0/codegen/refactoring.cpp Examining data/kdevelop-python-5.6.0/codegen/correctionfilegenerator.cpp Examining data/kdevelop-python-5.6.0/codegen/refactoring.h Examining data/kdevelop-python-5.6.0/codegen/correctionfilegenerator.h Examining data/kdevelop-python-5.6.0/parser/cythonsyntaxremover.cpp Examining data/kdevelop-python-5.6.0/parser/rangefixvisitor.cpp Examining data/kdevelop-python-5.6.0/parser/astvisitor.h Examining data/kdevelop-python-5.6.0/parser/ast.h Examining data/kdevelop-python-5.6.0/parser/parsesession.h Examining data/kdevelop-python-5.6.0/parser/cythonsyntaxremover.h Examining data/kdevelop-python-5.6.0/parser/codehelpers.cpp Examining data/kdevelop-python-5.6.0/parser/astbuilder.h Examining data/kdevelop-python-5.6.0/parser/ast.cpp Examining data/kdevelop-python-5.6.0/parser/tests/pyasttest.cpp Examining data/kdevelop-python-5.6.0/parser/tests/pycythontest.h Examining data/kdevelop-python-5.6.0/parser/tests/pyasttest.h Examining data/kdevelop-python-5.6.0/parser/tests/pycythontest.cpp Examining data/kdevelop-python-5.6.0/parser/astdefaultvisitor.h Examining data/kdevelop-python-5.6.0/parser/astdefaultvisitor.cpp Examining data/kdevelop-python-5.6.0/parser/codehelpers.h Examining data/kdevelop-python-5.6.0/parser/python_header.h Examining data/kdevelop-python-5.6.0/parser/astbuilder.cpp Examining data/kdevelop-python-5.6.0/parser/parsesession.cpp Examining data/kdevelop-python-5.6.0/parser/generated.h Examining data/kdevelop-python-5.6.0/parser/astvisitor.cpp Examining data/kdevelop-python-5.6.0/parser/rangefixvisitor.h Examining data/kdevelop-python-5.6.0/pythonstylechecking.h Examining data/kdevelop-python-5.6.0/pep8kcm/kcm_pep8.h Examining data/kdevelop-python-5.6.0/pep8kcm/kcm_pep8.cpp FINAL RESULTS: data/kdevelop-python-5.6.0/codecompletion/tests/pycompletiontest.cpp:77:13: [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). fileptr.open(QIODevice::WriteOnly); data/kdevelop-python-5.6.0/codecompletion/tests/pycompletiontest.cpp:200:13: [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). fileptr.open(QIODevice::WriteOnly); data/kdevelop-python-5.6.0/codegen/correctionfilegenerator.cpp:196:12: [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). m_file.open(QFile::ReadWrite); data/kdevelop-python-5.6.0/codegen/correctionfilegenerator.cpp:365:40: [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 ( checkForValidSyntax() && temp.open() ) { data/kdevelop-python-5.6.0/codegen/correctionfilegenerator.cpp:376:32: [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 ( success && m_file.open(QFile::ReadWrite) ) { data/kdevelop-python-5.6.0/docfilekcm/docfilewizard.cpp:216:20: [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). outputFile.open(QIODevice::WriteOnly); data/kdevelop-python-5.6.0/pythonstylechecking.cpp:135:31: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). size_d = m_checkerProcess.read(10); data/kdevelop-python-5.6.0/pythonstylechecking.cpp:150:35: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). auto d = m_checkerProcess.read(qMin(4096, size)); ANALYSIS SUMMARY: Hits = 8 Lines analyzed = 23911 in approximately 0.65 seconds (36688 lines/second) Physical Source Lines of Code (SLOC) = 17212 Hits@level = [0] 0 [1] 2 [2] 6 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 8 [1+] 8 [2+] 6 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 0.464792 [1+] 0.464792 [2+] 0.348594 [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.