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/knotes-20.08.2/notesagent/notesagentnotedialog.h
Examining data/knotes-20.08.2/notesagent/notesagent.h
Examining data/knotes-20.08.2/notesagent/notesmanager.h
Examining data/knotes-20.08.2/notesagent/notesagentnotedialog.cpp
Examining data/knotes-20.08.2/notesagent/notesagentsettingsdialog.cpp
Examining data/knotes-20.08.2/notesagent/notesagentalarmdialog.cpp
Examining data/knotes-20.08.2/notesagent/notesagentalarmdialog.h
Examining data/knotes-20.08.2/notesagent/notesmanager.cpp
Examining data/knotes-20.08.2/notesagent/notesagent.cpp
Examining data/knotes-20.08.2/notesagent/notesagentsettingsdialog.h
Examining data/knotes-20.08.2/noteshared/autotests/noteeditorutilstest.h
Examining data/knotes-20.08.2/noteshared/autotests/noteutilstest.h
Examining data/knotes-20.08.2/noteshared/autotests/noteutilstest.cpp
Examining data/knotes-20.08.2/noteshared/autotests/noteeditorutilstest.cpp
Examining data/knotes-20.08.2/noteshared/src/noteshared_private_export.h
Examining data/knotes-20.08.2/noteshared/src/network/notesnetworksender.h
Examining data/knotes-20.08.2/noteshared/src/network/notehostdialog.cpp
Examining data/knotes-20.08.2/noteshared/src/network/notesnetworkreceiver.cpp
Examining data/knotes-20.08.2/noteshared/src/network/notehostdialog.h
Examining data/knotes-20.08.2/noteshared/src/network/notesnetworkreceiver.h
Examining data/knotes-20.08.2/noteshared/src/network/notesnetworksender.cpp
Examining data/knotes-20.08.2/noteshared/src/widget/notelistwidget.cpp
Examining data/knotes-20.08.2/noteshared/src/widget/notelistwidget.h
Examining data/knotes-20.08.2/noteshared/src/dialog/selectednotefolderdialog.cpp
Examining data/knotes-20.08.2/noteshared/src/dialog/selectednotefolderdialog.h
Examining data/knotes-20.08.2/noteshared/src/akonadi/noteschangerecorder.h
Examining data/knotes-20.08.2/noteshared/src/akonadi/notesakonaditreemodel.cpp
Examining data/knotes-20.08.2/noteshared/src/akonadi/noteschangerecorder.cpp
Examining data/knotes-20.08.2/noteshared/src/akonadi/notesakonaditreemodel.h
Examining data/knotes-20.08.2/noteshared/src/alarms/notealarmdialog.cpp
Examining data/knotes-20.08.2/noteshared/src/alarms/notealarmdialog.h
Examining data/knotes-20.08.2/noteshared/src/job/createnewnotejob.h
Examining data/knotes-20.08.2/noteshared/src/job/createnewnotejob.cpp
Examining data/knotes-20.08.2/noteshared/src/noteutils.cpp
Examining data/knotes-20.08.2/noteshared/src/resources/localresourcecreator.h
Examining data/knotes-20.08.2/noteshared/src/resources/localresourcecreator.cpp
Examining data/knotes-20.08.2/noteshared/src/resources/metatype.h
Examining data/knotes-20.08.2/noteshared/src/attributes/notelockattribute.cpp
Examining data/knotes-20.08.2/noteshared/src/attributes/notealarmattribute.h
Examining data/knotes-20.08.2/noteshared/src/attributes/notedisplayattribute.cpp
Examining data/knotes-20.08.2/noteshared/src/attributes/notealarmattribute.cpp
Examining data/knotes-20.08.2/noteshared/src/attributes/autotests/notedisplayattributetest.cpp
Examining data/knotes-20.08.2/noteshared/src/attributes/autotests/notelockattributetest.h
Examining data/knotes-20.08.2/noteshared/src/attributes/autotests/showfoldernotesattributetest.cpp
Examining data/knotes-20.08.2/noteshared/src/attributes/autotests/notedisplayattributetest.h
Examining data/knotes-20.08.2/noteshared/src/attributes/autotests/notealarmattributetest.h
Examining data/knotes-20.08.2/noteshared/src/attributes/autotests/notelockattributetest.cpp
Examining data/knotes-20.08.2/noteshared/src/attributes/autotests/showfoldernotesattributetest.h
Examining data/knotes-20.08.2/noteshared/src/attributes/autotests/notealarmattributetest.cpp
Examining data/knotes-20.08.2/noteshared/src/attributes/showfoldernotesattribute.cpp
Examining data/knotes-20.08.2/noteshared/src/attributes/showfoldernotesattribute.h
Examining data/knotes-20.08.2/noteshared/src/attributes/attributeregistrar.cpp
Examining data/knotes-20.08.2/noteshared/src/attributes/notedisplayattribute.h
Examining data/knotes-20.08.2/noteshared/src/attributes/notelockattribute.h
Examining data/knotes-20.08.2/noteshared/src/config/noteactionconfig.cpp
Examining data/knotes-20.08.2/noteshared/src/config/noteactionconfig.h
Examining data/knotes-20.08.2/noteshared/src/config/notenetworkconfig.h
Examining data/knotes-20.08.2/noteshared/src/config/notenetworkconfig.cpp
Examining data/knotes-20.08.2/noteshared/src/noteutils.h
Examining data/knotes-20.08.2/noteshared/src/editor/noteeditorutils.cpp
Examining data/knotes-20.08.2/noteshared/src/editor/noteeditor.h
Examining data/knotes-20.08.2/noteshared/src/editor/noteeditorutils.h
Examining data/knotes-20.08.2/noteshared/src/editor/noteeditor.cpp
Examining data/knotes-20.08.2/src/apps/knotesapp.h
Examining data/knotes-20.08.2/src/apps/knotesapp.cpp
Examining data/knotes-20.08.2/src/apps/knotestray.cpp
Examining data/knotes-20.08.2/src/apps/knotesakonaditray.h
Examining data/knotes-20.08.2/src/apps/application.cpp
Examining data/knotes-20.08.2/src/apps/knotesakonaditray.cpp
Examining data/knotes-20.08.2/src/apps/main.cpp
Examining data/knotes-20.08.2/src/apps/knotestray.h
Examining data/knotes-20.08.2/src/apps/knotes_options.h
Examining data/knotes-20.08.2/src/apps/application.h
Examining data/knotes-20.08.2/src/notes/knotesmigrateapplication.h
Examining data/knotes-20.08.2/src/notes/knoteinterface.cpp
Examining data/knotes-20.08.2/src/notes/knotedisplaysettings.h
Examining data/knotes-20.08.2/src/notes/knotebutton.cpp
Examining data/knotes-20.08.2/src/notes/knote.cpp
Examining data/knotes-20.08.2/src/notes/knotedisplaysettings.cpp
Examining data/knotes-20.08.2/src/notes/knote.h
Examining data/knotes-20.08.2/src/notes/knotesmigrateapplication.cpp
Examining data/knotes-20.08.2/src/notes/knotebutton.h
Examining data/knotes-20.08.2/src/notes/knoteinterface.h
Examining data/knotes-20.08.2/src/dialog/knotedeleteselectednotesdialog.cpp
Examining data/knotes-20.08.2/src/dialog/knoteskeydialog.h
Examining data/knotes-20.08.2/src/dialog/knoteskeydialog.cpp
Examining data/knotes-20.08.2/src/dialog/knoteselectednotesdialog.h
Examining data/knotes-20.08.2/src/dialog/knotedeleteselectednotesdialog.h
Examining data/knotes-20.08.2/src/dialog/knoteselectednotesdialog.cpp
Examining data/knotes-20.08.2/src/utils/knoteutils.cpp
Examining data/knotes-20.08.2/src/utils/knoteutils.h
Examining data/knotes-20.08.2/src/configdialog/knotedisplayconfigwidget.h
Examining data/knotes-20.08.2/src/configdialog/knoteeditorconfigwidget.cpp
Examining data/knotes-20.08.2/src/configdialog/knoteconfigdialog.cpp
Examining data/knotes-20.08.2/src/configdialog/knotedisplayconfigwidget.cpp
Examining data/knotes-20.08.2/src/configdialog/knotesimpleconfigdialog.cpp
Examining data/knotes-20.08.2/src/configdialog/knotesimpleconfigdialog.h
Examining data/knotes-20.08.2/src/configdialog/knoteeditorconfigwidget.h
Examining data/knotes-20.08.2/src/configdialog/knotecollectionconfigwidget.cpp
Examining data/knotes-20.08.2/src/configdialog/knotecollectionconfigwidget.h
Examining data/knotes-20.08.2/src/configdialog/knoteconfigdialog.h
Examining data/knotes-20.08.2/src/print/autotests/knotesgrantleeprinttest.h
Examining data/knotes-20.08.2/src/print/autotests/knotesgrantleeprinttest.cpp
Examining data/knotes-20.08.2/src/print/knoteprinter.cpp
Examining data/knotes-20.08.2/src/print/knoteprintobject.h
Examining data/knotes-20.08.2/src/print/knotegrantleeprint.h
Examining data/knotes-20.08.2/src/print/knoteprintobject.cpp
Examining data/knotes-20.08.2/src/print/knoteprintselectthemedialog.cpp
Examining data/knotes-20.08.2/src/print/knoteprintselectthemecombobox.cpp
Examining data/knotes-20.08.2/src/print/knotegrantleeprint.cpp
Examining data/knotes-20.08.2/src/print/knoteprintselectednotesdialog.cpp
Examining data/knotes-20.08.2/src/print/knoteprinter.h
Examining data/knotes-20.08.2/src/print/knoteprintselectednotesdialog.h
Examining data/knotes-20.08.2/src/print/knoteprintselectthemecombobox.h
Examining data/knotes-20.08.2/src/print/knoteprintselectthemedialog.h
Examining data/knotes-20.08.2/src/kontactplugin/knoteslistwidgetsearchline.cpp
Examining data/knotes-20.08.2/src/kontactplugin/knotes_plugin.cpp
Examining data/knotes-20.08.2/src/kontactplugin/knotesiconview.cpp
Examining data/knotes-20.08.2/src/kontactplugin/summarywidget.cpp
Examining data/knotes-20.08.2/src/kontactplugin/knotesselectdeletenotesdialog.cpp
Examining data/knotes-20.08.2/src/kontactplugin/knoteseditdialog.h
Examining data/knotes-20.08.2/src/kontactplugin/knotes_part.cpp
Examining data/knotes-20.08.2/src/kontactplugin/summarywidget.h
Examining data/knotes-20.08.2/src/kontactplugin/knoteswidget.h
Examining data/knotes-20.08.2/src/kontactplugin/knotes_part.h
Examining data/knotes-20.08.2/src/kontactplugin/knotesiconview.h
Examining data/knotes-20.08.2/src/kontactplugin/knoteseditdialog.cpp
Examining data/knotes-20.08.2/src/kontactplugin/knotes_plugin.h
Examining data/knotes-20.08.2/src/kontactplugin/kcmknotessummary.cpp
Examining data/knotes-20.08.2/src/kontactplugin/knotesselectdeletenotesdialog.h
Examining data/knotes-20.08.2/src/kontactplugin/knoteslistwidgetsearchline.h
Examining data/knotes-20.08.2/src/kontactplugin/kcmknotessummary.h
Examining data/knotes-20.08.2/src/kontactplugin/knoteswidget.cpp
Examining data/knotes-20.08.2/src/knoteedit.h
Examining data/knotes-20.08.2/src/knoteedit.cpp
Examining data/knotes-20.08.2/src/finddialog/knotefinddialog.h
Examining data/knotes-20.08.2/src/finddialog/knotefinddialog.cpp

FINAL RESULTS:

data/knotes-20.08.2/noteshared/src/network/notesnetworkreceiver.cpp:114:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char smallBuffer[SBSIZE];
data/knotes-20.08.2/noteshared/src/network/notesnetworkreceiver.cpp:128:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(d->m_buffer->data() + curLen, smallBuffer, smallBufferLen);
data/knotes-20.08.2/src/apps/knotesapp.cpp:427: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 (f.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/knotes-20.08.2/src/kontactplugin/knotes_part.cpp:760: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).
    if (file.open(QIODevice::WriteOnly)) {
data/knotes-20.08.2/src/kontactplugin/knotes_part.cpp:874: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 (f.open(QIODevice::ReadOnly | QIODevice::Text)) {
data/knotes-20.08.2/src/notes/knote.cpp:534: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).
    if (file.open(QIODevice::WriteOnly)) {
data/knotes-20.08.2/noteshared/src/network/notesnetworkreceiver.cpp:121:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        smallBufferLen = d->m_sock->read(smallBuffer, SBSIZE);

ANALYSIS SUMMARY:

Hits = 7
Lines analyzed = 15076 in approximately 4.32 seconds (3490 lines/second)
Physical Source Lines of Code (SLOC) = 10272
Hits@level = [0]   1 [1]   1 [2]   6 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]   8 [1+]   7 [2+]   6 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 0.778816 [1+] 0.681464 [2+] 0.584112 [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.