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/kcm-ufw-0.4.3/kcm/stackedwidget.cpp Examining data/kcm-ufw-0.4.3/kcm/strings.cpp Examining data/kcm-ufw-0.4.3/kcm/logviewer.h Examining data/kcm-ufw-0.4.3/kcm/ruledialog.h Examining data/kcm-ufw-0.4.3/kcm/appprofiles.h Examining data/kcm-ufw-0.4.3/kcm/kcm.h Examining data/kcm-ufw-0.4.3/kcm/profile.cpp Examining data/kcm-ufw-0.4.3/kcm/rule.h Examining data/kcm-ufw-0.4.3/kcm/strings.h Examining data/kcm-ufw-0.4.3/kcm/appprofiles.cpp Examining data/kcm-ufw-0.4.3/kcm/statusbox.cpp Examining data/kcm-ufw-0.4.3/kcm/blocker.cpp Examining data/kcm-ufw-0.4.3/kcm/blocker.h Examining data/kcm-ufw-0.4.3/kcm/logviewer.cpp Examining data/kcm-ufw-0.4.3/kcm/types.h Examining data/kcm-ufw-0.4.3/kcm/ruledialog.cpp Examining data/kcm-ufw-0.4.3/kcm/lineedit.cpp Examining data/kcm-ufw-0.4.3/kcm/stackedwidget.h Examining data/kcm-ufw-0.4.3/kcm/combobox.cpp Examining data/kcm-ufw-0.4.3/kcm/lineedit.h Examining data/kcm-ufw-0.4.3/kcm/types.cpp Examining data/kcm-ufw-0.4.3/kcm/statusbox.h Examining data/kcm-ufw-0.4.3/kcm/ruleslist.h Examining data/kcm-ufw-0.4.3/kcm/combobox.h Examining data/kcm-ufw-0.4.3/kcm/profile.h Examining data/kcm-ufw-0.4.3/kcm/ruleslist.cpp Examining data/kcm-ufw-0.4.3/kcm/kcm.cpp Examining data/kcm-ufw-0.4.3/kcm/rule.cpp Examining data/kcm-ufw-0.4.3/helper/helper.cpp Examining data/kcm-ufw-0.4.3/helper/helper.h FINAL RESULTS: data/kcm-ufw-0.4.3/helper/helper.cpp:51:7: [5] (race) chmod: This accepts filename arguments; if an attacker can move those files, a race condition results. (CWE-362). Use fchmod( ) instead. ::chmod(QFile::encodeName(f).constData(), perms); data/kcm-ufw-0.4.3/helper/helper.cpp:80:19: [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/kcm-ufw-0.4.3/helper/helper.cpp:99: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). if(file.open(QIODevice::ReadOnly|QIODevice::Text)) data/kcm-ufw-0.4.3/helper/helper.cpp:240: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(f.open(QIODevice::WriteOnly)) data/kcm-ufw-0.4.3/kcm/kcm.cpp:710:21: [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/kcm-ufw-0.4.3/kcm/profile.cpp:62: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). if(file.open(QIODevice::ReadOnly)) data/kcm-ufw-0.4.3/kcm/rule.cpp:49:18: [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. unsigned char num[16]; data/kcm-ufw-0.4.3/kcm/rule.cpp:53:13: [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 conv[41]; data/kcm-ufw-0.4.3/kcm/ruledialog.cpp:368:14: [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. unsigned char dest[16]; data/kcm-ufw-0.4.3/helper/helper.cpp:50:20: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). mode_t oldMask(umask(0000)); data/kcm-ufw-0.4.3/helper/helper.cpp:53:7: [1] (access) umask: Ensure that umask is given most restrictive possible setting (e.g., 066 or 077) (CWE-732). ::umask(oldMask); ANALYSIS SUMMARY: Hits = 11 Lines analyzed = 5583 in approximately 0.55 seconds (10190 lines/second) Physical Source Lines of Code (SLOC) = 4060 Hits@level = [0] 0 [1] 2 [2] 8 [3] 0 [4] 0 [5] 1 Hits@level+ = [0+] 11 [1+] 11 [2+] 9 [3+] 1 [4+] 1 [5+] 1 Hits/KSLOC@level+ = [0+] 2.70936 [1+] 2.70936 [2+] 2.21675 [3+] 0.246305 [4+] 0.246305 [5+] 0.246305 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.