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/akonadi-import-wizard-20.08.2/src/importwizard.cpp
Examining data/akonadi-import-wizard-20.08.2/src/importwizardkernel.cpp
Examining data/akonadi-import-wizard-20.08.2/src/importwizardkernel.h
Examining data/akonadi-import-wizard-20.08.2/src/importmailpluginmanager.h
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractcalendar.cpp
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractaddressbook.h
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractaddressbook.cpp
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractbase.h
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractsettings.cpp
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractdisplayinfo.cpp
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractimporter.cpp
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractbase.cpp
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractdisplayinfo.h
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/importwizardutil.h
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/importwizardutil.cpp
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractimporter.h
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractcalendar.h
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard/abstractsettings.h
Examining data/akonadi-import-wizard-20.08.2/src/libimportwizard_private_export.h
Examining data/akonadi-import-wizard-20.08.2/src/importwizard.h
Examining data/akonadi-import-wizard-20.08.2/src/main.cpp
Examining data/akonadi-import-wizard-20.08.2/src/importmailpluginmanager.cpp
Examining data/akonadi-import-wizard-20.08.2/src/manual/importwizardfilterinfogui.cpp
Examining data/akonadi-import-wizard-20.08.2/src/manual/manualimportmailpage.cpp
Examining data/akonadi-import-wizard-20.08.2/src/manual/importwizardfilterinfogui.h
Examining data/akonadi-import-wizard-20.08.2/src/manual/manualselectfilterpage.cpp
Examining data/akonadi-import-wizard-20.08.2/src/manual/manualimportmailpage.h
Examining data/akonadi-import-wizard-20.08.2/src/manual/manualselectfilterpage.h
Examining data/akonadi-import-wizard-20.08.2/src/importwizarddisplayinfo.h
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importfilterinfogui.h
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/widgets/selectprogramlistwidget.cpp
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/widgets/selectprogramlistwidget.h
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importfilterpage.cpp
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importcalendarpage.cpp
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importsettingpage.h
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/selectcomponentpage.h
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importaddressbookpage.h
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/selectcomponentpage.cpp
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importmailpage.h
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importmailpage.cpp
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importfilterpage.h
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importfinishpage.h
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importaddressbookpage.cpp
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importfilterinfogui.cpp
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importfinishpage.cpp
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importcalendarpage.h
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/selectprogrampage.cpp
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/importsettingpage.cpp
Examining data/akonadi-import-wizard-20.08.2/src/autodetect/selectprogrampage.h
Examining data/akonadi-import-wizard-20.08.2/src/importwizarddisplayinfo.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/sylpheed/sylpheedsettingsutils.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/sylpheed/sylpheedsettingsutils.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/sylpheed/sylpheedimportdata.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/sylpheed/sylpheedaddressbook.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/sylpheed/sylpheedsettings.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/sylpheed/sylpheedaddressbook.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/sylpheed/sylpheedimportdata.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/sylpheed/sylpheedsettings.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/seamonkey/seamonkeyimportdata.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/seamonkey/seamonkeyimportdata.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutioncalendar.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutionaddressbook.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutionsettings.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutionutil.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutionv3importdata.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutioncalendar.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutionaddressbook.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutionsettings.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutionv3importdata.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutionutil.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/thunderbirdsettings.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/addressbook/MorkParser.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/addressbook/MorkParser.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/thunderbirdimportdata.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/thunderbirdimportdata.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/thunderbirdsettings.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/thunderbirdaddressbook.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/thunderbirdaddressbook.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/trojita/trojitaaddressbook.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/trojita/trojitaaddressbook.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/trojita/trojitasettings.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/trojita/trojitaimportdata.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/trojita/trojitasettings.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/trojita/trojitaimportdata.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/icedove/icedoveimportdata.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/icedove/icedoveimportdata.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/balsa/balsasettings.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/balsa/balsaimportdata.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/balsa/balsaimportdata.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/balsa/balsaaddressbook.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/balsa/balsasettings.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/balsa/balsaaddressbook.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/claws-mail/clawsmailaddressbook.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/claws-mail/clawsmailaddressbook.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/claws-mail/clawsmailsettings.h
Examining data/akonadi-import-wizard-20.08.2/src/plugins/claws-mail/clawsmailimportdata.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/claws-mail/clawsmailsettings.cpp
Examining data/akonadi-import-wizard-20.08.2/src/plugins/claws-mail/clawsmailimportdata.h

FINAL RESULTS:

data/akonadi-import-wizard-20.08.2/src/plugins/balsa/balsaaddressbook.cpp:86:22:  [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 | QIODevice::Text)) {
data/akonadi-import-wizard-20.08.2/src/plugins/claws-mail/clawsmailsettings.cpp:71:31:  [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 (!customHeaderFile.open(QIODevice::ReadOnly)) {
data/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutioncalendar.cpp:42: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/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutionsettings.cpp:48: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/akonadi-import-wizard-20.08.2/src/plugins/evolutionv3/evolutionsettings.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/akonadi-import-wizard-20.08.2/src/plugins/sylpheed/sylpheedaddressbook.cpp:56: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/akonadi-import-wizard-20.08.2/src/plugins/sylpheed/sylpheedsettings.cpp:73:31:  [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 (!customHeaderFile.open(QIODevice::ReadOnly)) {
data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/addressbook/MorkParser.cpp:30: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).
bool MorkParser::open(const QString &path)
data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/addressbook/MorkParser.cpp:38:22:  [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).
        || !MorkFile.open(QIODevice::ReadOnly)) {
data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/addressbook/MorkParser.h:66:10:  [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).
    bool open(const QString &path);
data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/thunderbirdaddressbook.cpp:59: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 (!mork.open(filename)) {
data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/thunderbirdsettings.cpp:52: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/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/thunderbirdsettings.cpp:971: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 | QIODevice::Text)) {
data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/addressbook/MorkParser.cpp:176:49:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                if (mMorkData.mid(mMorkPos - 1, strlen(MorkDictColumnMeta))
data/akonadi-import-wizard-20.08.2/src/plugins/thunderbird/addressbook/MorkParser.cpp:179:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                    mMorkPos += strlen(MorkDictColumnMeta) - 1;

ANALYSIS SUMMARY:

Hits = 15
Lines analyzed = 10382 in approximately 0.29 seconds (35536 lines/second)
Physical Source Lines of Code (SLOC) = 7113
Hits@level = [0]   0 [1]   2 [2]  13 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]  15 [1+]  15 [2+]  13 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 2.10881 [1+] 2.10881 [2+] 1.82764 [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.