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-calendar-20.08.2/autotests/kcalcoreserializertest.cpp Examining data/akonadi-calendar-20.08.2/autotests/fetchjobcalendartest.cpp Examining data/akonadi-calendar-20.08.2/autotests/unittestbase.cpp Examining data/akonadi-calendar-20.08.2/autotests/calendarbasetest.cpp Examining data/akonadi-calendar-20.08.2/autotests/etmcalendartest.cpp Examining data/akonadi-calendar-20.08.2/autotests/itiphandlertest.h Examining data/akonadi-calendar-20.08.2/autotests/mailclienttest.cpp Examining data/akonadi-calendar-20.08.2/autotests/itiphandlertest.cpp Examining data/akonadi-calendar-20.08.2/autotests/helper.cpp Examining data/akonadi-calendar-20.08.2/autotests/helper.h Examining data/akonadi-calendar-20.08.2/autotests/todopurgertest.cpp Examining data/akonadi-calendar-20.08.2/autotests/historytest.h Examining data/akonadi-calendar-20.08.2/autotests/incidencechangertest.cpp Examining data/akonadi-calendar-20.08.2/autotests/historytest.cpp Examining data/akonadi-calendar-20.08.2/autotests/calendarbasetest.h Examining data/akonadi-calendar-20.08.2/autotests/unittestbase.h Examining data/akonadi-calendar-20.08.2/autotests/etmcalendartest.h Examining data/akonadi-calendar-20.08.2/autotests/todopurgertest.h Examining data/akonadi-calendar-20.08.2/examples/etmcalendar/main.cpp Examining data/akonadi-calendar-20.08.2/serializers/akonadi_serializer_kcalcore.h Examining data/akonadi-calendar-20.08.2/serializers/akonadi_serializer_kcalcore.cpp Examining data/akonadi-calendar-20.08.2/src/calendarbase.cpp Examining data/akonadi-calendar-20.08.2/src/scheduler_p.h Examining data/akonadi-calendar-20.08.2/src/publishdialog_p.h Examining data/akonadi-calendar-20.08.2/src/calfilterproxymodel_p.cpp Examining data/akonadi-calendar-20.08.2/src/etmcalendar_p.h Examining data/akonadi-calendar-20.08.2/src/etmcalendar.cpp Examining data/akonadi-calendar-20.08.2/src/calfilterpartstatusproxymodel_p.cpp Examining data/akonadi-calendar-20.08.2/src/publishdialog.h Examining data/akonadi-calendar-20.08.2/src/standardcalendaractionmanager.cpp Examining data/akonadi-calendar-20.08.2/src/mailclient_p.h Examining data/akonadi-calendar-20.08.2/src/calendarclipboard.h Examining data/akonadi-calendar-20.08.2/src/itiphandler_p.cpp Examining data/akonadi-calendar-20.08.2/src/publishdialog.cpp Examining data/akonadi-calendar-20.08.2/src/standardcalendaractionmanager.h Examining data/akonadi-calendar-20.08.2/src/incidencechanger_p.cpp Examining data/akonadi-calendar-20.08.2/src/freebusyproviderbase_p.h Examining data/akonadi-calendar-20.08.2/src/etmcalendar.h Examining data/akonadi-calendar-20.08.2/src/utils_p.cpp Examining data/akonadi-calendar-20.08.2/src/fetchjobcalendar.h Examining data/akonadi-calendar-20.08.2/src/itiphandlerhelper_p.h Examining data/akonadi-calendar-20.08.2/src/mailscheduler_p.h Examining data/akonadi-calendar-20.08.2/src/history.h Examining data/akonadi-calendar-20.08.2/src/todopurger.h Examining data/akonadi-calendar-20.08.2/src/freebusydownloadjob_p.h Examining data/akonadi-calendar-20.08.2/src/calendarclipboard.cpp Examining data/akonadi-calendar-20.08.2/src/calendarclipboard_p.h Examining data/akonadi-calendar-20.08.2/src/scheduler_p.cpp Examining data/akonadi-calendar-20.08.2/src/kcolumnfilterproxymodel.cpp Examining data/akonadi-calendar-20.08.2/src/incidencechanger.h Examining data/akonadi-calendar-20.08.2/src/itiphandler_p.h Examining data/akonadi-calendar-20.08.2/src/freebusyproviderbase.cpp Examining data/akonadi-calendar-20.08.2/src/publishdialog_p.cpp Examining data/akonadi-calendar-20.08.2/src/blockalarmsattribute.cpp Examining data/akonadi-calendar-20.08.2/src/itiphandler.cpp Examining data/akonadi-calendar-20.08.2/src/freebusymanager.cpp Examining data/akonadi-calendar-20.08.2/src/kcolumnfilterproxymodel_p.h Examining data/akonadi-calendar-20.08.2/src/todopurger.cpp Examining data/akonadi-calendar-20.08.2/src/akonadi-calendar_tests_export.h Examining data/akonadi-calendar-20.08.2/src/icalimporter.h Examining data/akonadi-calendar-20.08.2/src/incidencechanger_p.h Examining data/akonadi-calendar-20.08.2/src/fetchjobcalendar.cpp Examining data/akonadi-calendar-20.08.2/src/freebusyproviderbase.h Examining data/akonadi-calendar-20.08.2/src/todopurger_p.h Examining data/akonadi-calendar-20.08.2/src/icalimporter.cpp Examining data/akonadi-calendar-20.08.2/src/incidencefetchjob_p.cpp Examining data/akonadi-calendar-20.08.2/src/itiphandlerhelper_p.cpp Examining data/akonadi-calendar-20.08.2/src/utils_p.h Examining data/akonadi-calendar-20.08.2/src/mailclient_p.cpp Examining data/akonadi-calendar-20.08.2/src/calfilterpartstatusproxymodel_p.h Examining data/akonadi-calendar-20.08.2/src/itiphandler.h Examining data/akonadi-calendar-20.08.2/src/blockalarmsattribute.h Examining data/akonadi-calendar-20.08.2/src/calfilterproxymodel_p.h Examining data/akonadi-calendar-20.08.2/src/mailscheduler_p.cpp Examining data/akonadi-calendar-20.08.2/src/incidencechanger.cpp Examining data/akonadi-calendar-20.08.2/src/freebusymanager_p.h Examining data/akonadi-calendar-20.08.2/src/calendarbase_p.h Examining data/akonadi-calendar-20.08.2/src/incidencefetchjob_p.h Examining data/akonadi-calendar-20.08.2/src/icalimporter_p.h Examining data/akonadi-calendar-20.08.2/src/fetchjobcalendar_p.h Examining data/akonadi-calendar-20.08.2/src/calendarbase.h Examining data/akonadi-calendar-20.08.2/src/history_p.cpp Examining data/akonadi-calendar-20.08.2/src/freebusydownloadjob_p.cpp Examining data/akonadi-calendar-20.08.2/src/freebusymanager.h Examining data/akonadi-calendar-20.08.2/src/calendarmodel.cpp Examining data/akonadi-calendar-20.08.2/src/calendarmodel_p.h Examining data/akonadi-calendar-20.08.2/src/history.cpp Examining data/akonadi-calendar-20.08.2/src/history_p.h FINAL RESULTS: data/akonadi-calendar-20.08.2/autotests/unittestbase.cpp:160: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 | QIODevice::Text)) { data/akonadi-calendar-20.08.2/src/freebusymanager.cpp:814: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 (tempFile.open()) { data/akonadi-calendar-20.08.2/src/freebusymanager.cpp:964: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). if (!f.open(QIODevice::ReadOnly)) { data/akonadi-calendar-20.08.2/src/freebusymanager.cpp:1006: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). if (!f.open(QIODevice::ReadWrite)) { ANALYSIS SUMMARY: Hits = 4 Lines analyzed = 19466 in approximately 0.48 seconds (40288 lines/second) Physical Source Lines of Code (SLOC) = 13717 Hits@level = [0] 0 [1] 0 [2] 4 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 4 [1+] 4 [2+] 4 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 0.291609 [1+] 0.291609 [2+] 0.291609 [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.