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/kronometer-2.2.3/src/main.cpp Examining data/kronometer-2.2.3/src/models/lapmodel.h Examining data/kronometer-2.2.3/src/models/sessionmodel.cpp Examining data/kronometer-2.2.3/src/models/sessionmodel.h Examining data/kronometer-2.2.3/src/models/lapmodel.cpp Examining data/kronometer-2.2.3/src/core/session.h Examining data/kronometer-2.2.3/src/core/session.cpp Examining data/kronometer-2.2.3/src/core/timeformat.h Examining data/kronometer-2.2.3/src/core/timeformat.cpp Examining data/kronometer-2.2.3/src/core/lap.cpp Examining data/kronometer-2.2.3/src/core/stopwatch.h Examining data/kronometer-2.2.3/src/core/stopwatch.cpp Examining data/kronometer-2.2.3/src/core/lap.h Examining data/kronometer-2.2.3/src/gui/sessiondialog.cpp Examining data/kronometer-2.2.3/src/gui/colorsettings.h Examining data/kronometer-2.2.3/src/gui/sessiondialog.h Examining data/kronometer-2.2.3/src/gui/generalsettings.cpp Examining data/kronometer-2.2.3/src/gui/digitdisplay.h Examining data/kronometer-2.2.3/src/gui/generalsettings.h Examining data/kronometer-2.2.3/src/gui/timedisplay.cpp Examining data/kronometer-2.2.3/src/gui/fontsettings.cpp Examining data/kronometer-2.2.3/src/gui/fontsettings.h Examining data/kronometer-2.2.3/src/gui/colorsettings.cpp Examining data/kronometer-2.2.3/src/gui/digitdisplay.cpp Examining data/kronometer-2.2.3/src/gui/mainwindow.cpp Examining data/kronometer-2.2.3/src/gui/timedisplay.h Examining data/kronometer-2.2.3/src/gui/mainwindow.h Examining data/kronometer-2.2.3/autotests/core/teststopwatch.h Examining data/kronometer-2.2.3/autotests/core/testsession.h Examining data/kronometer-2.2.3/autotests/core/testlap.h Examining data/kronometer-2.2.3/autotests/core/teststopwatch.cpp Examining data/kronometer-2.2.3/autotests/core/testsession.cpp Examining data/kronometer-2.2.3/autotests/core/testtimeformat.cpp Examining data/kronometer-2.2.3/autotests/core/testtimeformat.h Examining data/kronometer-2.2.3/autotests/core/testlap.cpp Examining data/kronometer-2.2.3/autotests/gui/testtimedisplay.cpp Examining data/kronometer-2.2.3/autotests/gui/testtimedisplay.h FINAL RESULTS: data/kronometer-2.2.3/src/gui/mainwindow.cpp:273: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). dialog->open(); data/kronometer-2.2.3/src/gui/mainwindow.cpp:328: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). dialog->open(); data/kronometer-2.2.3/src/gui/mainwindow.cpp:494: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). KStandardAction::open(this, &MainWindow::slotOpenSession, actionCollection()); data/kronometer-2.2.3/src/gui/mainwindow.cpp:605: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). exportFile.open(QIODevice::WriteOnly); data/kronometer-2.2.3/src/gui/mainwindow.cpp:620: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). exportFile.open(QIODevice::WriteOnly); data/kronometer-2.2.3/src/models/sessionmodel.cpp:35: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 (saveFile.open(QIODevice::ReadOnly)) { data/kronometer-2.2.3/src/models/sessionmodel.cpp:218: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 (not saveFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { data/kronometer-2.2.3/src/models/sessionmodel.cpp:38:13: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read(saveDoc.object()); data/kronometer-2.2.3/src/models/sessionmodel.cpp:207:20: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void SessionModel::read(const QJsonObject& json) data/kronometer-2.2.3/src/models/sessionmodel.h:84:10: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). void read(const QJsonObject& json); ANALYSIS SUMMARY: Hits = 10 Lines analyzed = 4662 in approximately 0.88 seconds (5321 lines/second) Physical Source Lines of Code (SLOC) = 2559 Hits@level = [0] 0 [1] 3 [2] 7 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 10 [1+] 10 [2+] 7 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 3.90778 [1+] 3.90778 [2+] 2.73544 [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.