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/gamine-1.6/gamine.c FINAL RESULTS: data/gamine-1.6/gamine.c:282:21: [3] (random) random: 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. color.red = random() % 10 * 0.1; data/gamine-1.6/gamine.c:283:23: [3] (random) random: 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. color.green = random() % 10 * 0.1; data/gamine-1.6/gamine.c:284:22: [3] (random) random: 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. color.blue = random() % 10 * 0.1; data/gamine-1.6/gamine.c:370:24: [3] (random) random: 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. star.spike_count = random() % 6 + 2; data/gamine-1.6/gamine.c:398:32: [3] (buffer) g_get_home_dir: This function is synonymous with 'getenv("HOME")';it returns untrustable input if the environment can beset by an attacker. It can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. dirname = g_build_filename(g_get_home_dir(), "gamine", NULL); data/gamine-1.6/gamine.c:404:5: [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-%d-%d_%d-%d-%d.png", 1900 + t->tm_year, ANALYSIS SUMMARY: Hits = 6 Lines analyzed = 663 in approximately 0.05 seconds (13938 lines/second) Physical Source Lines of Code (SLOC) = 564 Hits@level = [0] 0 [1] 0 [2] 1 [3] 5 [4] 0 [5] 0 Hits@level+ = [0+] 6 [1+] 6 [2+] 6 [3+] 5 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 10.6383 [1+] 10.6383 [2+] 10.6383 [3+] 8.86525 [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.