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/libwnck3-3.36.0/doc/example-force-update.c
Examining data/libwnck3-3.36.0/doc/example-lazy-initialization.c
Examining data/libwnck3-3.36.0/libwnck/application.c
Examining data/libwnck3-3.36.0/libwnck/application.h
Examining data/libwnck3-3.36.0/libwnck/class-group.c
Examining data/libwnck3-3.36.0/libwnck/class-group.h
Examining data/libwnck3-3.36.0/libwnck/libwnck.h
Examining data/libwnck3-3.36.0/libwnck/pager-accessible-factory.c
Examining data/libwnck3-3.36.0/libwnck/pager-accessible-factory.h
Examining data/libwnck3-3.36.0/libwnck/pager-accessible.c
Examining data/libwnck3-3.36.0/libwnck/pager-accessible.h
Examining data/libwnck3-3.36.0/libwnck/pager.c
Examining data/libwnck3-3.36.0/libwnck/pager.h
Examining data/libwnck3-3.36.0/libwnck/private.h
Examining data/libwnck3-3.36.0/libwnck/screen.c
Examining data/libwnck3-3.36.0/libwnck/screen.h
Examining data/libwnck3-3.36.0/libwnck/selector.c
Examining data/libwnck3-3.36.0/libwnck/selector.h
Examining data/libwnck3-3.36.0/libwnck/tasklist.c
Examining data/libwnck3-3.36.0/libwnck/tasklist.h
Examining data/libwnck3-3.36.0/libwnck/test-pager.c
Examining data/libwnck3-3.36.0/libwnck/test-selector.c
Examining data/libwnck3-3.36.0/libwnck/test-shutdown.c
Examining data/libwnck3-3.36.0/libwnck/test-tasklist.c
Examining data/libwnck3-3.36.0/libwnck/test-urgent.c
Examining data/libwnck3-3.36.0/libwnck/test-wnck.c
Examining data/libwnck3-3.36.0/libwnck/util.c
Examining data/libwnck3-3.36.0/libwnck/util.h
Examining data/libwnck3-3.36.0/libwnck/window-action-menu.c
Examining data/libwnck3-3.36.0/libwnck/window-action-menu.h
Examining data/libwnck3-3.36.0/libwnck/window.c
Examining data/libwnck3-3.36.0/libwnck/window.h
Examining data/libwnck3-3.36.0/libwnck/wnck-image-menu-item-private.h
Examining data/libwnck3-3.36.0/libwnck/wnck-image-menu-item.c
Examining data/libwnck3-3.36.0/libwnck/wnck-urgency-monitor.c
Examining data/libwnck3-3.36.0/libwnck/wnckprop.c
Examining data/libwnck3-3.36.0/libwnck/workspace-accessible-factory.c
Examining data/libwnck3-3.36.0/libwnck/workspace-accessible-factory.h
Examining data/libwnck3-3.36.0/libwnck/workspace-accessible.c
Examining data/libwnck3-3.36.0/libwnck/workspace-accessible.h
Examining data/libwnck3-3.36.0/libwnck/workspace.c
Examining data/libwnck3-3.36.0/libwnck/workspace.h
Examining data/libwnck3-3.36.0/libwnck/xutils.c
Examining data/libwnck3-3.36.0/libwnck/xutils.h

FINAL RESULTS:

data/libwnck3-3.36.0/libwnck/screen.c:1374: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/libwnck3-3.36.0/libwnck/screen.c:1375: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/libwnck3-3.36.0/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 (*windows, data, sizeof (Window) * nitems);
data/libwnck3-3.36.0/libwnck/xutils.c:513: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/libwnck3-3.36.0/libwnck/xutils.c:561: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/libwnck3-3.36.0/libwnck/xutils.c:2692: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/libwnck3-3.36.0/libwnck/xutils.c:2699: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/libwnck3-3.36.0/libwnck/window-action-menu.c:722: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/libwnck3-3.36.0/libwnck/xutils.c:652: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/libwnck3-3.36.0/libwnck/xutils.c:682: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 = 28943 in approximately 0.54 seconds (53234 lines/second)
Physical Source Lines of Code (SLOC) = 19880
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.55332 [1+] 0.503018 [2+] 0.352113 [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.