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/libwnck-2.30.7/libwnck/util.h Examining data/libwnck-2.30.7/libwnck/workspace-accessible-factory.h Examining data/libwnck-2.30.7/libwnck/selector.c Examining data/libwnck-2.30.7/libwnck/xutils.c Examining data/libwnck-2.30.7/libwnck/application.h Examining data/libwnck-2.30.7/libwnck/workspace-accessible.c Examining data/libwnck-2.30.7/libwnck/test-selector.c Examining data/libwnck-2.30.7/libwnck/wnck-enum-types.c Examining data/libwnck-2.30.7/libwnck/workspace-accessible.h Examining data/libwnck-2.30.7/libwnck/workspace.h Examining data/libwnck-2.30.7/libwnck/wnck-marshal.c Examining data/libwnck-2.30.7/libwnck/libwnck.h Examining data/libwnck-2.30.7/libwnck/screen.h Examining data/libwnck-2.30.7/libwnck/wnck-enum-types.h Examining data/libwnck-2.30.7/libwnck/test-wnck.c Examining data/libwnck-2.30.7/libwnck/test-tasklist.c Examining data/libwnck-2.30.7/libwnck/wnckprop.c Examining data/libwnck-2.30.7/libwnck/pager.c Examining data/libwnck-2.30.7/libwnck/xutils.h Examining data/libwnck-2.30.7/libwnck/test-pager.c Examining data/libwnck-2.30.7/libwnck/workspace.c Examining data/libwnck-2.30.7/libwnck/application.c Examining data/libwnck-2.30.7/libwnck/wnck-marshal.h Examining data/libwnck-2.30.7/libwnck/private.h Examining data/libwnck-2.30.7/libwnck/window-action-menu.c Examining data/libwnck-2.30.7/libwnck/pager-accessible.h Examining data/libwnck-2.30.7/libwnck/util.c Examining data/libwnck-2.30.7/libwnck/screen.c Examining data/libwnck-2.30.7/libwnck/window-action-menu.h Examining data/libwnck-2.30.7/libwnck/selector.h Examining data/libwnck-2.30.7/libwnck/pager.h Examining data/libwnck-2.30.7/libwnck/class-group.h Examining data/libwnck-2.30.7/libwnck/inlinepixbufs.h Examining data/libwnck-2.30.7/libwnck/class-group.c Examining data/libwnck-2.30.7/libwnck/pager-accessible-factory.h Examining data/libwnck-2.30.7/libwnck/window.h Examining data/libwnck-2.30.7/libwnck/workspace-accessible-factory.c Examining data/libwnck-2.30.7/libwnck/wnck-urgency-monitor.c Examining data/libwnck-2.30.7/libwnck/pager-accessible.c Examining data/libwnck-2.30.7/libwnck/test-urgent.c Examining data/libwnck-2.30.7/libwnck/window.c Examining data/libwnck-2.30.7/libwnck/pager-accessible-factory.c Examining data/libwnck-2.30.7/libwnck/tasklist.c Examining data/libwnck-2.30.7/libwnck/tasklist.h FINAL RESULTS: data/libwnck-2.30.7/libwnck/screen.c:1510:3: [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 (a_tmp, a, a_len * sizeof (Window)); data/libwnck-2.30.7/libwnck/screen.c:1511:3: [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 (b_tmp, b, b_len * sizeof (Window)); data/libwnck-2.30.7/libwnck/xutils.c:421:3: [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 (*windows, data, sizeof (Window) * nitems); data/libwnck-2.30.7/libwnck/xutils.c:465:3: [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 (*atoms, data, sizeof (Atom) * nitems); data/libwnck-2.30.7/libwnck/xutils.c:509:3: [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 (*cardinals, nums, sizeof (gulong) * nitems); data/libwnck-2.30.7/libwnck/xutils.c:2563:3: [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 buffer[256]; data/libwnck-2.30.7/libwnck/xutils.c:2570:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf (buffer, "_NET_DESKTOP_LAYOUT_S%d", number); data/libwnck-2.30.7/libwnck/window-action-menu.c:778:29: [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). new_name = g_malloc0 (strlen (name) * 2 + 6 + 1); data/libwnck-2.30.7/libwnck/xutils.c:596:15: [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). p = p + strlen (p) + 1; data/libwnck-2.30.7/libwnck/xutils.c:622:28: [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). strlen (list[i]) + 1); ANALYSIS SUMMARY: Hits = 10 Lines analyzed = 28699 in approximately 0.63 seconds (45602 lines/second) Physical Source Lines of Code (SLOC) = 19731 Hits@level = [0] 1 [1] 3 [2] 7 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 11 [1+] 10 [2+] 7 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 0.557498 [1+] 0.506817 [2+] 0.354772 [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.