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/excellent-bifurcation-0.0.20071015/src/input.h Examining data/excellent-bifurcation-0.0.20071015/src/sound.h Examining data/excellent-bifurcation-0.0.20071015/src/stuff.c Examining data/excellent-bifurcation-0.0.20071015/src/ebullet.h Examining data/excellent-bifurcation-0.0.20071015/src/pickup.h Examining data/excellent-bifurcation-0.0.20071015/src/cloud.c Examining data/excellent-bifurcation-0.0.20071015/src/globvars.h Examining data/excellent-bifurcation-0.0.20071015/src/enemy.h Examining data/excellent-bifurcation-0.0.20071015/src/display_init.h Examining data/excellent-bifurcation-0.0.20071015/src/input.c Examining data/excellent-bifurcation-0.0.20071015/src/display.h Examining data/excellent-bifurcation-0.0.20071015/src/enemy.c Examining data/excellent-bifurcation-0.0.20071015/src/ebullet.c Examining data/excellent-bifurcation-0.0.20071015/src/cloud.h Examining data/excellent-bifurcation-0.0.20071015/src/palette.c Examining data/excellent-bifurcation-0.0.20071015/src/pbullet.h Examining data/excellent-bifurcation-0.0.20071015/src/pickup.c Examining data/excellent-bifurcation-0.0.20071015/src/stuff.h Examining data/excellent-bifurcation-0.0.20071015/src/config.h Examining data/excellent-bifurcation-0.0.20071015/src/pbullet.c Examining data/excellent-bifurcation-0.0.20071015/src/game.c Examining data/excellent-bifurcation-0.0.20071015/src/display.c Examining data/excellent-bifurcation-0.0.20071015/src/level.c Examining data/excellent-bifurcation-0.0.20071015/src/menu.h Examining data/excellent-bifurcation-0.0.20071015/src/game.h Examining data/excellent-bifurcation-0.0.20071015/src/level.h Examining data/excellent-bifurcation-0.0.20071015/src/eclass.c Examining data/excellent-bifurcation-0.0.20071015/src/palette.h Examining data/excellent-bifurcation-0.0.20071015/src/display_init.c Examining data/excellent-bifurcation-0.0.20071015/src/menu.c Examining data/excellent-bifurcation-0.0.20071015/src/sound.c Examining data/excellent-bifurcation-0.0.20071015/src/main.c FINAL RESULTS: data/excellent-bifurcation-0.0.20071015/src/input.c:101:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(sfile, itoa(scrs, istr, 10)); data/excellent-bifurcation-0.0.20071015/src/sound.c:1082:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(sfile_name, DATA_DIR "/wavs/"); data/excellent-bifurcation-0.0.20071015/src/sound.c:1083:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(sfile_name, sfile); data/excellent-bifurcation-0.0.20071015/src/sound.c:1101:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(sfile_name, DATA_DIR "/wavs/ambi/"); data/excellent-bifurcation-0.0.20071015/src/sound.c:1102:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(sfile_name, sfile); data/excellent-bifurcation-0.0.20071015/src/main.c:197:4: [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(randseed); data/excellent-bifurcation-0.0.20071015/src/input.c:88:2: [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 sfile [20]; data/excellent-bifurcation-0.0.20071015/src/input.c:89:2: [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 istr [20]; data/excellent-bifurcation-0.0.20071015/src/input.c:100:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(sfile, "scr"); data/excellent-bifurcation-0.0.20071015/src/input.c:102:3: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(sfile, ".bmp"); data/excellent-bifurcation-0.0.20071015/src/main.c:118:1: [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 FileName[PATH_MAX]; data/excellent-bifurcation-0.0.20071015/src/sound.c:1080:2: [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 sfile_name [PATH_MAX]; data/excellent-bifurcation-0.0.20071015/src/sound.c:1084:2: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(sfile_name, ".wav"); data/excellent-bifurcation-0.0.20071015/src/sound.c:1099:2: [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 sfile_name [PATH_MAX]; data/excellent-bifurcation-0.0.20071015/src/sound.c:1103:2: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(sfile_name, ".wav"); ANALYSIS SUMMARY: Hits = 15 Lines analyzed = 19311 in approximately 0.53 seconds (36131 lines/second) Physical Source Lines of Code (SLOC) = 12041 Hits@level = [0] 4 [1] 0 [2] 9 [3] 1 [4] 5 [5] 0 Hits@level+ = [0+] 19 [1+] 15 [2+] 15 [3+] 6 [4+] 5 [5+] 0 Hits/KSLOC@level+ = [0+] 1.57794 [1+] 1.24574 [2+] 1.24574 [3+] 0.498297 [4+] 0.415248 [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.