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.