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/gnome-paint-0.4.0/src/cv_polygon_tool.h Examining data/gnome-paint-0.4.0/src/cv_line_tool.h Examining data/gnome-paint-0.4.0/src/cv_airbrush_tool.c Examining data/gnome-paint-0.4.0/src/cv_flood_fill_tool.h Examining data/gnome-paint-0.4.0/src/color.h Examining data/gnome-paint-0.4.0/src/cv_airbrush_tool.h Examining data/gnome-paint-0.4.0/src/file.h Examining data/gnome-paint-0.4.0/src/gp_point_array.h Examining data/gnome-paint-0.4.0/src/cv_curve_tool.h Examining data/gnome-paint-0.4.0/src/cv_color_pick_tool.c Examining data/gnome-paint-0.4.0/src/pixbuf_util.h Examining data/gnome-paint-0.4.0/src/cv_resize.h Examining data/gnome-paint-0.4.0/src/pixbuf_util.c Examining data/gnome-paint-0.4.0/src/cv_ellipse_tool.h Examining data/gnome-paint-0.4.0/src/cv_rounded_rectangle_tool.h Examining data/gnome-paint-0.4.0/src/color-picker.c Examining data/gnome-paint-0.4.0/src/cv_rect_select.h Examining data/gnome-paint-0.4.0/src/cv_rounded_rectangle_tool.c Examining data/gnome-paint-0.4.0/src/undo.h Examining data/gnome-paint-0.4.0/src/cv_color_pick_tool.h Examining data/gnome-paint-0.4.0/src/cv_rect_select.c Examining data/gnome-paint-0.4.0/src/cv_rectangle_tool.c Examining data/gnome-paint-0.4.0/src/common.h Examining data/gnome-paint-0.4.0/src/cv_rectangle_tool.h Examining data/gnome-paint-0.4.0/src/gp-image.c Examining data/gnome-paint-0.4.0/src/cv_drawing.h Examining data/gnome-paint-0.4.0/src/pixbuf-file-chooser.c Examining data/gnome-paint-0.4.0/src/cv_pencil_tool.c Examining data/gnome-paint-0.4.0/src/cv_eraser_tool.c Examining data/gnome-paint-0.4.0/src/image_menu.h Examining data/gnome-paint-0.4.0/src/cv_polygon_tool.c Examining data/gnome-paint-0.4.0/src/cv_pencil_tool.h Examining data/gnome-paint-0.4.0/src/cv_curve_tool.c Examining data/gnome-paint-0.4.0/src/selection.c Examining data/gnome-paint-0.4.0/src/cv_paintbrush_tool.h Examining data/gnome-paint-0.4.0/src/cv_ellipse_tool.c Examining data/gnome-paint-0.4.0/src/pixbuf-file-chooser.h Examining data/gnome-paint-0.4.0/src/toolbar.h Examining data/gnome-paint-0.4.0/src/cv_eraser_tool.h Examining data/gnome-paint-0.4.0/src/cv_flood_fill_tool.c Examining data/gnome-paint-0.4.0/src/cv_paintbrush_tool.c Examining data/gnome-paint-0.4.0/src/undo.c Examining data/gnome-paint-0.4.0/src/color-picker.h Examining data/gnome-paint-0.4.0/src/color.c Examining data/gnome-paint-0.4.0/src/gp-image.h Examining data/gnome-paint-0.4.0/src/gp_point_array.c Examining data/gnome-paint-0.4.0/src/image_menu.c Examining data/gnome-paint-0.4.0/src/clipboard.c Examining data/gnome-paint-0.4.0/src/cv_line_tool.c Examining data/gnome-paint-0.4.0/src/clipboard.h Examining data/gnome-paint-0.4.0/src/selection.h Examining data/gnome-paint-0.4.0/src/file.c Examining data/gnome-paint-0.4.0/src/cv_drawing.c Examining data/gnome-paint-0.4.0/src/cv_resize.c Examining data/gnome-paint-0.4.0/src/main.c Examining data/gnome-paint-0.4.0/src/toolbar.c FINAL RESULTS: data/gnome-paint-0.4.0/src/gp-image.c:183:2: [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 (sdata->buffer + sdata->len, data, count); data/gnome-paint-0.4.0/src/gp_point_array.c:147:5: [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(dst->array->data, src->array->data, sizeof(GdkPoint) * dst->array->len); data/gnome-paint-0.4.0/src/image_menu.c:506:4: [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(wtext, "%.02f", dw ); data/gnome-paint-0.4.0/src/image_menu.c:507:4: [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(htext, "%.02f", dh ); data/gnome-paint-0.4.0/src/image_menu.c:510:4: [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(wtext, "%d", (gint)dw ); data/gnome-paint-0.4.0/src/image_menu.c:511:4: [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(htext, "%d", (gint)dh ); data/gnome-paint-0.4.0/src/image_menu.c:518:2: [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(disp, "%d x %d dots per inch", vdpi, hdpi); data/gnome-paint-0.4.0/src/main.c:234: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(name, "erase%d", i); data/gnome-paint-0.4.0/src/main.c:271: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(name, "brush%d", i); ANALYSIS SUMMARY: Hits = 9 Lines analyzed = 12073 in approximately 0.30 seconds (39870 lines/second) Physical Source Lines of Code (SLOC) = 8882 Hits@level = [0] 68 [1] 0 [2] 9 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 77 [1+] 9 [2+] 9 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 8.66922 [1+] 1.01329 [2+] 1.01329 [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.