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/libgnomecanvasmm2.6-2.26.0/demos/richtext.cc
Examining data/libgnomecanvasmm2.6-2.26.0/demos/arrowhead.cc
Examining data/libgnomecanvasmm2.6-2.26.0/demos/arrowhead.h
Examining data/libgnomecanvasmm2.6-2.26.0/demos/primitives.h
Examining data/libgnomecanvasmm2.6-2.26.0/demos/canvas_features.cc
Examining data/libgnomecanvasmm2.6-2.26.0/demos/primitives.cc
Examining data/libgnomecanvasmm2.6-2.26.0/demos/curve.cc
Examining data/libgnomecanvasmm2.6-2.26.0/demos/curve.h
Examining data/libgnomecanvasmm2.6-2.26.0/demos/fifteen.cc
Examining data/libgnomecanvasmm2.6-2.26.0/demos/richtext.h
Examining data/libgnomecanvasmm2.6-2.26.0/demos/fifteen.h
Examining data/libgnomecanvasmm2.6-2.26.0/demos/canvas_features.h
Examining data/libgnomecanvasmm2.6-2.26.0/demos/canvas.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/polygon.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/widget_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/shape_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/polygon_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/rect-ellipse_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/rect_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/canvas_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/path-def_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/pixbuf_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/text_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/rich-text_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/ellipse_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/bpath_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/group_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/line_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/private/item_p.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/rich-text.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/path-def.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/shape.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/wrap_init.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/polygon.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/item.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/rect.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/properties.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/widget.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/rect-ellipse.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/init.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/line.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/path-def.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/item.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/init.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/point.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/text.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/rect-ellipse.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/affinetrans.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/widget.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/group.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/pixbuf.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/ellipse.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/canvas.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/bpath.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/affinetrans.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/canvas.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/pixbuf.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/ellipse.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/group.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/text.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/bpath.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/line.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/properties.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/rect.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/shape.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/rich-text.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/wrap_init.cc
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/point.h
Examining data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm.h
Examining data/libgnomecanvasmm2.6-2.26.0/tools/extra_defs_gen/generate_defs_libgnomecanvas.cc
Examining data/libgnomecanvasmm2.6-2.26.0/examples/canvas/canvas.cc
Examining data/libgnomecanvasmm2.6-2.26.0/examples/canvas_affine/canvas_affine.cc
Examining data/libgnomecanvasmm2.6-2.26.0/examples/canvas_events/canvas_events.cc

FINAL RESULTS:

data/libgnomecanvasmm2.6-2.26.0/demos/fifteen.cc:115:3:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
  srand(time(NULL));
data/libgnomecanvasmm2.6-2.26.0/demos/arrowhead.cc:125: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 buf[100];
data/libgnomecanvasmm2.6-2.26.0/demos/arrowhead.cc:126: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(buf, "%d", dim);
data/libgnomecanvasmm2.6-2.26.0/demos/arrowhead.cc:350: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 buf[100];
data/libgnomecanvasmm2.6-2.26.0/demos/arrowhead.cc:351: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(buf, "width: %d", m_width);
data/libgnomecanvasmm2.6-2.26.0/demos/arrowhead.cc:354: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(buf, "arrow_shape_a: %d", m_shape_a);
data/libgnomecanvasmm2.6-2.26.0/demos/arrowhead.cc:357: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(buf, "arrow_shape_b: %d", m_shape_b);
data/libgnomecanvasmm2.6-2.26.0/demos/arrowhead.cc:360: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(buf, "arrow_shape_c: %d", m_shape_c);
data/libgnomecanvasmm2.6-2.26.0/demos/fifteen.cc:62:7:  [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 buf[20];
data/libgnomecanvasmm2.6-2.26.0/demos/fifteen.cc:63:7:  [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(buf, "%d", i + 1);
data/libgnomecanvasmm2.6-2.26.0/demos/fifteen.cc:95:10:  [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.
  static char buf[50];
data/libgnomecanvasmm2.6-2.26.0/demos/fifteen.cc:104: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(buf, "#%02x%02x%02x", r, g, b);
data/libgnomecanvasmm2.6-2.26.0/libgnomecanvas/libgnomecanvasmm/affinetrans.cc:221: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 pchStr[128];

ANALYSIS SUMMARY:

Hits = 13
Lines analyzed = 15938 in approximately 0.45 seconds (35380 lines/second)
Physical Source Lines of Code (SLOC) = 9033
Hits@level = [0]   5 [1]   0 [2]  12 [3]   1 [4]   0 [5]   0
Hits@level+ = [0+]  18 [1+]  13 [2+]  13 [3+]   1 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 1.99269 [1+] 1.43917 [2+] 1.43917 [3+] 0.110705 [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.