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/libhandy-0.0.13/examples/handy-demo.c Examining data/libhandy-0.0.13/examples/hdy-demo-preferences-window.c Examining data/libhandy-0.0.13/examples/hdy-demo-preferences-window.h Examining data/libhandy-0.0.13/examples/hdy-demo-window.c Examining data/libhandy-0.0.13/examples/hdy-demo-window.h Examining data/libhandy-0.0.13/examples/hdy-view-switcher-demo-window.c Examining data/libhandy-0.0.13/examples/hdy-view-switcher-demo-window.h Examining data/libhandy-0.0.13/glade/glade-hdy-header-group.c Examining data/libhandy-0.0.13/glade/glade-hdy-header-group.h Examining data/libhandy-0.0.13/glade/glade-hdy-paginator.c Examining data/libhandy-0.0.13/glade/glade-hdy-paginator.h Examining data/libhandy-0.0.13/glade/glade-hdy-swipe-group.c Examining data/libhandy-0.0.13/glade/glade-hdy-swipe-group.h Examining data/libhandy-0.0.13/src/gtk-window-private.h Examining data/libhandy-0.0.13/src/gtk-window.c Examining data/libhandy-0.0.13/src/gtkprogresstracker.c Examining data/libhandy-0.0.13/src/gtkprogresstrackerprivate.h Examining data/libhandy-0.0.13/src/handy.h Examining data/libhandy-0.0.13/src/hdy-action-row.c Examining data/libhandy-0.0.13/src/hdy-action-row.h Examining data/libhandy-0.0.13/src/hdy-animation-private.h Examining data/libhandy-0.0.13/src/hdy-animation.c Examining data/libhandy-0.0.13/src/hdy-animation.h Examining data/libhandy-0.0.13/src/hdy-arrows.c Examining data/libhandy-0.0.13/src/hdy-arrows.h Examining data/libhandy-0.0.13/src/hdy-column.c Examining data/libhandy-0.0.13/src/hdy-column.h Examining data/libhandy-0.0.13/src/hdy-combo-row.c Examining data/libhandy-0.0.13/src/hdy-combo-row.h Examining data/libhandy-0.0.13/src/hdy-deprecation-macros.h Examining data/libhandy-0.0.13/src/hdy-dialer-button.c Examining data/libhandy-0.0.13/src/hdy-dialer-button.h Examining data/libhandy-0.0.13/src/hdy-dialer-cycle-button.c Examining data/libhandy-0.0.13/src/hdy-dialer-cycle-button.h Examining data/libhandy-0.0.13/src/hdy-dialer.c Examining data/libhandy-0.0.13/src/hdy-dialer.h Examining data/libhandy-0.0.13/src/hdy-dialog.c Examining data/libhandy-0.0.13/src/hdy-dialog.h Examining data/libhandy-0.0.13/src/hdy-enum-value-object.c Examining data/libhandy-0.0.13/src/hdy-enum-value-object.h Examining data/libhandy-0.0.13/src/hdy-expander-row.c Examining data/libhandy-0.0.13/src/hdy-expander-row.h Examining data/libhandy-0.0.13/src/hdy-fold.c Examining data/libhandy-0.0.13/src/hdy-fold.h Examining data/libhandy-0.0.13/src/hdy-header-bar.c Examining data/libhandy-0.0.13/src/hdy-header-bar.h Examining data/libhandy-0.0.13/src/hdy-header-group.c Examining data/libhandy-0.0.13/src/hdy-header-group.h Examining data/libhandy-0.0.13/src/hdy-keypad-button-private.h Examining data/libhandy-0.0.13/src/hdy-keypad-button.c Examining data/libhandy-0.0.13/src/hdy-keypad.c Examining data/libhandy-0.0.13/src/hdy-keypad.h Examining data/libhandy-0.0.13/src/hdy-leaflet.c Examining data/libhandy-0.0.13/src/hdy-leaflet.h Examining data/libhandy-0.0.13/src/hdy-list-box.c Examining data/libhandy-0.0.13/src/hdy-list-box.h Examining data/libhandy-0.0.13/src/hdy-main-private.h Examining data/libhandy-0.0.13/src/hdy-main.c Examining data/libhandy-0.0.13/src/hdy-main.h Examining data/libhandy-0.0.13/src/hdy-paginator-box-private.h Examining data/libhandy-0.0.13/src/hdy-paginator-box.c Examining data/libhandy-0.0.13/src/hdy-paginator.c Examining data/libhandy-0.0.13/src/hdy-paginator.h Examining data/libhandy-0.0.13/src/hdy-preferences-group-private.h Examining data/libhandy-0.0.13/src/hdy-preferences-group.c Examining data/libhandy-0.0.13/src/hdy-preferences-group.h Examining data/libhandy-0.0.13/src/hdy-preferences-page-private.h Examining data/libhandy-0.0.13/src/hdy-preferences-page.c Examining data/libhandy-0.0.13/src/hdy-preferences-page.h Examining data/libhandy-0.0.13/src/hdy-preferences-row.c Examining data/libhandy-0.0.13/src/hdy-preferences-row.h Examining data/libhandy-0.0.13/src/hdy-preferences-window.c Examining data/libhandy-0.0.13/src/hdy-preferences-window.h Examining data/libhandy-0.0.13/src/hdy-search-bar.c Examining data/libhandy-0.0.13/src/hdy-search-bar.h Examining data/libhandy-0.0.13/src/hdy-shadow-helper-private.h Examining data/libhandy-0.0.13/src/hdy-shadow-helper.c Examining data/libhandy-0.0.13/src/hdy-squeezer.c Examining data/libhandy-0.0.13/src/hdy-squeezer.h Examining data/libhandy-0.0.13/src/hdy-string-utf8.c Examining data/libhandy-0.0.13/src/hdy-string-utf8.h Examining data/libhandy-0.0.13/src/hdy-style-private.h Examining data/libhandy-0.0.13/src/hdy-swipe-group.c Examining data/libhandy-0.0.13/src/hdy-swipe-group.h Examining data/libhandy-0.0.13/src/hdy-swipe-tracker-private.h Examining data/libhandy-0.0.13/src/hdy-swipe-tracker.c Examining data/libhandy-0.0.13/src/hdy-swipeable-private.h Examining data/libhandy-0.0.13/src/hdy-swipeable.c Examining data/libhandy-0.0.13/src/hdy-swipeable.h Examining data/libhandy-0.0.13/src/hdy-title-bar.c Examining data/libhandy-0.0.13/src/hdy-title-bar.h Examining data/libhandy-0.0.13/src/hdy-value-object.c Examining data/libhandy-0.0.13/src/hdy-value-object.h Examining data/libhandy-0.0.13/src/hdy-view-switcher-bar.c Examining data/libhandy-0.0.13/src/hdy-view-switcher-bar.h Examining data/libhandy-0.0.13/src/hdy-view-switcher-button-private.h Examining data/libhandy-0.0.13/src/hdy-view-switcher-button.c Examining data/libhandy-0.0.13/src/hdy-view-switcher.c Examining data/libhandy-0.0.13/src/hdy-view-switcher.h Examining data/libhandy-0.0.13/tests/test-action-row.c Examining data/libhandy-0.0.13/tests/test-arrows.c Examining data/libhandy-0.0.13/tests/test-combo-row.c Examining data/libhandy-0.0.13/tests/test-dialer-cycle-button.c Examining data/libhandy-0.0.13/tests/test-dialer.c Examining data/libhandy-0.0.13/tests/test-dialog.c Examining data/libhandy-0.0.13/tests/test-expander-row.c Examining data/libhandy-0.0.13/tests/test-header-bar.c Examining data/libhandy-0.0.13/tests/test-header-group.c Examining data/libhandy-0.0.13/tests/test-keypad.c Examining data/libhandy-0.0.13/tests/test-paginator.c Examining data/libhandy-0.0.13/tests/test-preferences-group.c Examining data/libhandy-0.0.13/tests/test-preferences-page.c Examining data/libhandy-0.0.13/tests/test-preferences-row.c Examining data/libhandy-0.0.13/tests/test-preferences-window.c Examining data/libhandy-0.0.13/tests/test-search-bar.c Examining data/libhandy-0.0.13/tests/test-squeezer.c Examining data/libhandy-0.0.13/tests/test-string-utf8.c Examining data/libhandy-0.0.13/tests/test-swipe-group.c Examining data/libhandy-0.0.13/tests/test-value-object.c Examining data/libhandy-0.0.13/tests/test-view-switcher-bar.c Examining data/libhandy-0.0.13/tests/test-view-switcher.c FINAL RESULTS: data/libhandy-0.0.13/src/gtkprogresstracker.c:54: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 (dest, source, sizeof (GtkProgressTracker)); data/libhandy-0.0.13/src/hdy-dialer-cycle-button.c:81:7: [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). if (strlen (hdy_dialer_button_get_symbols (HDY_DIALER_BUTTON (self))) < 2) ANALYSIS SUMMARY: Hits = 2 Lines analyzed = 30330 in approximately 0.61 seconds (49378 lines/second) Physical Source Lines of Code (SLOC) = 19485 Hits@level = [0] 0 [1] 1 [2] 1 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 2 [1+] 2 [2+] 1 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 0.102643 [1+] 0.102643 [2+] 0.0513215 [3+] 0 [4+] 0 [5+] 0 Dot directories skipped = 2 (--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.