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/kpimtextedit-20.08.2/autotests/textutilstest.cpp
Examining data/kpimtextedit-20.08.2/autotests/slidecontainertest.h
Examining data/kpimtextedit-20.08.2/autotests/emoticonunicodetabtest.cpp
Examining data/kpimtextedit-20.08.2/autotests/editorutiltest.h
Examining data/kpimtextedit-20.08.2/autotests/slidecontainertest.cpp
Examining data/kpimtextedit-20.08.2/autotests/textutilstest.h
Examining data/kpimtextedit-20.08.2/autotests/emoticonunicodetabtest.h
Examining data/kpimtextedit-20.08.2/autotests/emoticonlistwidgetselectortest.h
Examining data/kpimtextedit-20.08.2/autotests/emoticonlistwidgetselectortest.cpp
Examining data/kpimtextedit-20.08.2/autotests/editorutiltest.cpp
Examining data/kpimtextedit-20.08.2/tests/testgeneratehtmlbuildergui.cpp
Examining data/kpimtextedit-20.08.2/tests/testgenerateplaintextbuildergui.cpp
Examining data/kpimtextedit-20.08.2/tests/slidecontainer_gui.cpp
Examining data/kpimtextedit-20.08.2/tests/testgeneratehtmlbuildergui.h
Examining data/kpimtextedit-20.08.2/tests/testgenerateplaintextbuildergui.h
Examining data/kpimtextedit-20.08.2/tests/inserthtmldialog_demo.cpp
Examining data/kpimtextedit-20.08.2/tests/showemoticonunicodetab_gui.cpp
Examining data/kpimtextedit-20.08.2/src/insertimagewidget.cpp
Examining data/kpimtextedit-20.08.2/src/tableactionmenu.cpp
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/autotests/plaintextmarkupbuildertest.h
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/autotests/texthtmlbuildertest.cpp
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/autotests/texthtmlbuildertest.h
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/autotests/plaintextmarkupbuildertest.cpp
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/markupdirector.cpp
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/texthtmlbuilder.h
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/markupdirector_p.h
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/markupdirector.h
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/texthtmlbuilder.cpp
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/plaintextmarkupbuilder.cpp
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/plaintextmarkupbuilder.h
Examining data/kpimtextedit-20.08.2/src/grantleebuilder/abstractmarkupbuilder.h
Examining data/kpimtextedit-20.08.2/src/editorutil.cpp
Examining data/kpimtextedit-20.08.2/src/inserttablewidget.h
Examining data/kpimtextedit-20.08.2/src/tableformatdialog.cpp
Examining data/kpimtextedit-20.08.2/src/inserttabledialog.h
Examining data/kpimtextedit-20.08.2/src/insertimagewidget.h
Examining data/kpimtextedit-20.08.2/src/inserthtmldialog.h
Examining data/kpimtextedit-20.08.2/src/editorutil.h
Examining data/kpimtextedit-20.08.2/src/selectspecialchardialog.h
Examining data/kpimtextedit-20.08.2/src/texteditor/richtexteditor/richtexteditor.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/richtexteditor/richtexteditorwidget.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/richtexteditor/autotests/richtexteditortest.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/richtexteditor/autotests/richtexteditortest.h
Examining data/kpimtextedit-20.08.2/src/texteditor/richtexteditor/richtexteditfindbar.h
Examining data/kpimtextedit-20.08.2/src/texteditor/richtexteditor/richtexteditorwidget.h
Examining data/kpimtextedit-20.08.2/src/texteditor/richtexteditor/tests/richtexteditor_gui.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/richtexteditor/richtexteditor.h
Examining data/kpimtextedit-20.08.2/src/texteditor/richtexteditor/richtexteditfindbar.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/plaintexteditfindbar.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/autotests/plaintexteditortest.h
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/autotests/plaintexteditortest.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/plaintexteditor.h
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/tests/plaintexteditor_gui.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/plaintexteditorwidget.h
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/plaintexteditfindbar.h
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/plaintextsyntaxspellcheckinghighlighter.h
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/plaintexteditorwidget.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/plaintextsyntaxspellcheckinghighlighter.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/plaintexteditor/plaintexteditor.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/autotests/textgotolinewidgettest.h
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/autotests/textgotolinewidgettest.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/textfindreplacewidget.h
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/texteditfindbarbase.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/findutils.h
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/texteditfindbarbase.h
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/textmessageindicator.h
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/textfindreplacewidget.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/textgotolinewidget.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/textmessageindicator.cpp
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/textgotolinewidget.h
Examining data/kpimtextedit-20.08.2/src/texteditor/commonwidget/findutils.cpp
Examining data/kpimtextedit-20.08.2/src/insertimagedialog.cpp
Examining data/kpimtextedit-20.08.2/src/inserttabledialog.cpp
Examining data/kpimtextedit-20.08.2/src/textutils.h
Examining data/kpimtextedit-20.08.2/src/tablecellformatdialog.cpp
Examining data/kpimtextedit-20.08.2/src/inserthtmldialog.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposeremailquotedecorator.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposeractionstest.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposercontrolertest.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposerimagestest.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposerimagestest.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposerwidgettest.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextexternalcomposertest.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextexternalcomposertest.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposeractionstest.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposercontrolertest.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposertest.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposerwidgettest.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposertest.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposercontroler.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposerimages.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposeractions.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextexternalcomposer.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/tests/richtextcomposerwidget_gui.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposeractions.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposeremailquotehighlighter.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposerwidget.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposerwidget.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/nestedlisthelper.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposeremailquotehighlighter.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextexternalcomposer.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposer.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/klinkdialog.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposeremailquotedecorator.cpp
Examining data/kpimtextedit-20.08.2/src/composer-ng/nestedlisthelper_p.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/klinkdialog_p.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposer.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposercontroler.h
Examining data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposerimages.h
Examining data/kpimtextedit-20.08.2/src/tableactionmenu.h
Examining data/kpimtextedit-20.08.2/src/inserthtmleditor.cpp
Examining data/kpimtextedit-20.08.2/src/tablecellformatdialog.h
Examining data/kpimtextedit-20.08.2/src/texteditorcompleter.h
Examining data/kpimtextedit-20.08.2/src/inserthtmleditor.h
Examining data/kpimtextedit-20.08.2/src/tableformatdialog.h
Examining data/kpimtextedit-20.08.2/src/insertimagedialog.h
Examining data/kpimtextedit-20.08.2/src/selectspecialchardialog.cpp
Examining data/kpimtextedit-20.08.2/src/inserttablewidget.cpp
Examining data/kpimtextedit-20.08.2/src/emoticon/emoticontexteditaction.cpp
Examining data/kpimtextedit-20.08.2/src/emoticon/emoticonunicodetab.cpp
Examining data/kpimtextedit-20.08.2/src/emoticon/emoticontexteditaction.h
Examining data/kpimtextedit-20.08.2/src/emoticon/emoticontexteditselector.h
Examining data/kpimtextedit-20.08.2/src/emoticon/emoticonunicodeutils.cpp
Examining data/kpimtextedit-20.08.2/src/emoticon/emoticonlistwidgetselector.h
Examining data/kpimtextedit-20.08.2/src/emoticon/emoticonlistwidgetselector.cpp
Examining data/kpimtextedit-20.08.2/src/emoticon/emoticonunicodeutils.h
Examining data/kpimtextedit-20.08.2/src/emoticon/emoticonunicodetab.h
Examining data/kpimtextedit-20.08.2/src/emoticon/emoticontexteditselector.cpp
Examining data/kpimtextedit-20.08.2/src/slidecontainer.h
Examining data/kpimtextedit-20.08.2/src/texteditorcompleter.cpp
Examining data/kpimtextedit-20.08.2/src/textutils.cpp
Examining data/kpimtextedit-20.08.2/src/slidecontainer.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechinterface.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechactions.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechlanguagecombobox.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/autotests/texttospeechwidgettest.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/autotests/texttospeechwidgettest.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/autotests/texttospeechactionstest.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/autotests/texttospeechactionstest.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/autotests/texttospeechconfigwidgettest.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/autotests/texttospeechconfigwidgettest.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechconfiginterface.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/tests/texttospeechwidget_gui.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/tests/texttospeechgui.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/tests/texttospeechconfiggui.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/tests/texttospeechconfiggui.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/tests/texttospeechconfigdialoggui.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/tests/texttospeechgui.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechconfigdialog.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechconfigwidget.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/abstracttexttospeechinterface.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechwidget.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechactions.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechconfigwidget.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/abstracttexttospeechinterface.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechinterface.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeech.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechwidget.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeech.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/abstracttexttospeechconfiginterface.h
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechconfigdialog.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/abstracttexttospeechconfiginterface.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechconfiginterface.cpp
Examining data/kpimtextedit-20.08.2/src/texttospeech/texttospeechlanguagecombobox.cpp
Examining data/kpimtextedit-20.08.2/src/kpimtextedit_private_export.h

FINAL RESULTS:

data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposertest.cpp:311: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).
    buffer.open(QIODevice::WriteOnly);
data/kpimtextedit-20.08.2/src/composer-ng/autotests/richtextcomposertest.cpp:314:25:  [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).
    imageWithNameBuffer.open(QIODevice::WriteOnly);
data/kpimtextedit-20.08.2/src/composer-ng/richtextcomposerimages.cpp:205: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).
    buffer.open(QIODevice::WriteOnly);
data/kpimtextedit-20.08.2/src/composer-ng/richtextexternalcomposer.cpp:90:36:  [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 (!d->extEditorTempFile->open()) {
data/kpimtextedit-20.08.2/src/composer-ng/richtextexternalcomposer.cpp:149:23:  [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 (localFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/kpimtextedit-20.08.2/src/grantleebuilder/autotests/plaintextmarkupbuildertest.cpp:761:24:  [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).
    QVERIFY(sourceHtml.open(QIODevice::ReadOnly));

ANALYSIS SUMMARY:

Hits = 6
Lines analyzed = 24866 in approximately 0.83 seconds (29879 lines/second)
Physical Source Lines of Code (SLOC) = 17420
Hits@level = [0]   0 [1]   0 [2]   6 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]   6 [1+]   6 [2+]   6 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 0.344432 [1+] 0.344432 [2+] 0.344432 [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.