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/gmult-8.0/gmult/GtkMult.c Examining data/gmult-8.0/gmult/TableBox.c Examining data/gmult-8.0/gmult/CharBox.c Examining data/gmult-8.0/gmult/DigitBox.c Examining data/gmult-8.0/gmult/MultPuzzle.c Examining data/gmult-8.0/gmult/Canvas.c FINAL RESULTS: data/gmult-8.0/gmult/GtkMult.c:983:11: [3] (random) g_random_int_range: 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. _tmp3_ = g_random_int_range ((gint32) 0, (gint32) num_needed); data/gmult-8.0/gmult/MultPuzzle.c:603:14: [3] (random) g_random_int_range: 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. _tmp1_ = g_random_int_range ((gint32) 0, (gint32) (10 - i)); data/gmult-8.0/gmult/MultPuzzle.c:764:11: [3] (random) g_random_int_range: 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. _tmp2_ = g_random_int_range (low, high); data/gmult-8.0/gmult/Canvas.c:1015:14: [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). _tmp2_ = strlen (multiplicand); data/gmult-8.0/gmult/Canvas.c:1046:14: [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). _tmp8_ = strlen (multiplier); data/gmult-8.0/gmult/Canvas.c:1095:18: [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). _tmp16_ = strlen (addend); data/gmult-8.0/gmult/Canvas.c:1130: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). _tmp22_ = strlen (answer); data/gmult-8.0/gmult/Canvas.c:1571:12: [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). _tmp10_ = strlen (y); data/gmult-8.0/gmult/Canvas.c:1573:12: [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). _tmp11_ = strlen (z); data/gmult-8.0/gmult/Canvas.c:1575:12: [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). _tmp12_ = strlen (x); data/gmult-8.0/gmult/Canvas.c:1581:12: [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). _tmp14_ = strlen (y); data/gmult-8.0/gmult/Canvas.c:1587:12: [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). _tmp16_ = strlen (z); data/gmult-8.0/gmult/Canvas.c:1624: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). _tmp24_ = strlen (_tmp23_); data/gmult-8.0/gmult/DigitBox.c:228:11: [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). _tmp2_ = strlen (_tmp1_); data/gmult-8.0/gmult/MultPuzzle.c:551:11: [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). _tmp0_ = strlen (*n); data/gmult-8.0/gmult/MultPuzzle.c:555:11: [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). _tmp1_ = strlen (*n); data/gmult-8.0/gmult/MultPuzzle.c:659:12: [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). _tmp1_ = strlen (np); data/gmult-8.0/gmult/MultPuzzle.c:696:12: [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). _tmp1_ = strlen (np); data/gmult-8.0/gmult/MultPuzzle.c:731:12: [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). _tmp0_ = strlen (np); data/gmult-8.0/gmult/MultPuzzle.c:995:12: [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). _tmp12_ = strlen (self->priv->x); data/gmult-8.0/gmult/MultPuzzle.c:996:12: [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). _tmp13_ = strlen (self->priv->y); data/gmult-8.0/gmult/MultPuzzle.c:998:12: [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). _tmp14_ = strlen (self->priv->y); data/gmult-8.0/gmult/MultPuzzle.c:1025: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). _tmp17_ = strlen (self->priv->y); data/gmult-8.0/gmult/MultPuzzle.c:1029: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). _tmp18_ = strlen (self->priv->y); data/gmult-8.0/gmult/MultPuzzle.c:1035: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). _tmp22_ = strlen (self->priv->x); ANALYSIS SUMMARY: Hits = 25 Lines analyzed = 5691 in approximately 0.15 seconds (38055 lines/second) Physical Source Lines of Code (SLOC) = 4983 Hits@level = [0] 0 [1] 22 [2] 0 [3] 3 [4] 0 [5] 0 Hits@level+ = [0+] 25 [1+] 25 [2+] 3 [3+] 3 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 5.01706 [1+] 5.01706 [2+] 0.602047 [3+] 0.602047 [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.