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/gnusim8085-1.4.1/src/gui-list-message.c Examining data/gnusim8085-1.4.1/src/asm-source.c Examining data/gnusim8085-1.4.1/src/interface.c Examining data/gnusim8085-1.4.1/src/asm-genobj.h Examining data/gnusim8085-1.4.1/src/gui-input-symbol.h Examining data/gnusim8085-1.4.1/src/asm-gensym.c Examining data/gnusim8085-1.4.1/src/asm-ds-limits.h Examining data/gnusim8085-1.4.1/src/gui-app.c Examining data/gnusim8085-1.4.1/src/asm-listing.c Examining data/gnusim8085-1.4.1/src/file-op.h Examining data/gnusim8085-1.4.1/src/gui-list-message.h Examining data/gnusim8085-1.4.1/src/gui-list-io.h Examining data/gnusim8085-1.4.1/src/file-op.c Examining data/gnusim8085-1.4.1/src/gui-list-stack.c Examining data/gnusim8085-1.4.1/src/8085-link.c Examining data/gnusim8085-1.4.1/src/callbacks.c Examining data/gnusim8085-1.4.1/src/asm-source.h Examining data/gnusim8085-1.4.1/src/asm-ds-symtable.h Examining data/gnusim8085-1.4.1/src/gui-keypad.h Examining data/gnusim8085-1.4.1/src/asm-token.h Examining data/gnusim8085-1.4.1/src/interface.h Examining data/gnusim8085-1.4.1/src/asm-genobj.c Examining data/gnusim8085-1.4.1/src/support.c Examining data/gnusim8085-1.4.1/src/asm-id.h Examining data/gnusim8085-1.4.1/src/asm-err-comm.h Examining data/gnusim8085-1.4.1/src/8085-asm.h Examining data/gnusim8085-1.4.1/src/main.c Examining data/gnusim8085-1.4.1/src/asm-err-comm.c Examining data/gnusim8085-1.4.1/src/asm-ds-symtable.c Examining data/gnusim8085-1.4.1/src/gui-list-data.h Examining data/gnusim8085-1.4.1/src/8085-memblock.h Examining data/gnusim8085-1.4.1/src/support.h Examining data/gnusim8085-1.4.1/src/gui-list-memory.h Examining data/gnusim8085-1.4.1/src/gui-editor.c Examining data/gnusim8085-1.4.1/src/asm-gensym.h Examining data/gnusim8085-1.4.1/src/asm-id-info.h Examining data/gnusim8085-1.4.1/src/gui-view.h Examining data/gnusim8085-1.4.1/src/8085.c Examining data/gnusim8085-1.4.1/src/gui-list-memory.c Examining data/gnusim8085-1.4.1/src/gui-list-data.c Examining data/gnusim8085-1.4.1/src/8085.h Examining data/gnusim8085-1.4.1/src/8085-asm.c Examining data/gnusim8085-1.4.1/src/gui-list-stack.h Examining data/gnusim8085-1.4.1/src/asm-listing.h Examining data/gnusim8085-1.4.1/src/gui-keypad.c Examining data/gnusim8085-1.4.1/src/file-op-gio.c Examining data/gnusim8085-1.4.1/src/gui-view.c Examining data/gnusim8085-1.4.1/src/asm-id.c Examining data/gnusim8085-1.4.1/src/bridge.h Examining data/gnusim8085-1.4.1/src/gui-editor.h Examining data/gnusim8085-1.4.1/src/bridge.c Examining data/gnusim8085-1.4.1/src/asm-token.c Examining data/gnusim8085-1.4.1/src/callbacks.h Examining data/gnusim8085-1.4.1/src/asm-id-info.c Examining data/gnusim8085-1.4.1/src/8085-instructions.c Examining data/gnusim8085-1.4.1/src/gui-list-io.c Examining data/gnusim8085-1.4.1/src/file-op-gio.h Examining data/gnusim8085-1.4.1/src/8085-memblock.c Examining data/gnusim8085-1.4.1/src/gui-input-symbol.c Examining data/gnusim8085-1.4.1/src/gui-app.h Examining data/gnusim8085-1.4.1/src/8085-link.h Examining data/gnusim8085-1.4.1/src/8085-instructions.h FINAL RESULTS: data/gnusim8085-1.4.1/src/asm-ds-symtable.h:46:3: [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 name[ASM_DS_MAX_IDENTIFIER_LENGTH]; /* name of sym */ data/gnusim8085-1.4.1/src/file-op.c:55:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen (fn, "r"); data/gnusim8085-1.4.1/src/file-op.c:130:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen (fn, "r"); data/gnusim8085-1.4.1/src/file-op.c:150:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen (fn, "w"); data/gnusim8085-1.4.1/src/file-op.c:322:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen (selected_filename, "w"); data/gnusim8085-1.4.1/src/support.c:142:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen (pathname, "r"); data/gnusim8085-1.4.1/src/support.c:153:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen (pathname, "r"); data/gnusim8085-1.4.1/src/support.c:194:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen (pathname, "r"); data/gnusim8085-1.4.1/src/support.c:205:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen (pathname, "r"); data/gnusim8085-1.4.1/src/support.c:216:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fp = fopen (pathname, "r"); data/gnusim8085-1.4.1/src/asm-listing.c:178:10: [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). len = strlen((*line)->str); data/gnusim8085-1.4.1/src/asm-listing.c:219:13: [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). orilen = strlen (bin[i]->str); data/gnusim8085-1.4.1/src/asm-source.c:168: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). if (nstr[strlen (nstr) - 1] == ':') data/gnusim8085-1.4.1/src/asm-source.c:170:9: [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). nstr[strlen (nstr) - 1] = '\0'; data/gnusim8085-1.4.1/src/asm-source.c:324: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 (err)) data/gnusim8085-1.4.1/src/asm-source.c:338: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). if (str[strlen (str) - 1] == 'h' || str[strlen (str) - 1] == 'H') data/gnusim8085-1.4.1/src/asm-source.c:338:43: [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 (str[strlen (str) - 1] == 'h' || str[strlen (str) - 1] == 'H') data/gnusim8085-1.4.1/src/asm-source.c:340:8: [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). str[strlen (str) - 1] = '\0'; data/gnusim8085-1.4.1/src/asm-source.c:344: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). if (str[strlen (str) -1] == 'b' || str[strlen (str) - 1] == 'B') data/gnusim8085-1.4.1/src/asm-source.c:344:42: [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 (str[strlen (str) -1] == 'b' || str[strlen (str) - 1] == 'B') data/gnusim8085-1.4.1/src/asm-source.c:346:10: [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). str[strlen (str) - 1] = '\0'; data/gnusim8085-1.4.1/src/asm-source.c:350: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). if (str[strlen (str) - 1] == 'o' || str[strlen (str) - 1] == 'O') data/gnusim8085-1.4.1/src/asm-source.c:350:43: [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 (str[strlen (str) - 1] == 'o' || str[strlen (str) - 1] == 'O') data/gnusim8085-1.4.1/src/asm-source.c:352:8: [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). str[strlen (str) - 1] = '\0'; data/gnusim8085-1.4.1/src/callbacks.c:631:8: [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). text[strlen (text)] = 'h'; data/gnusim8085-1.4.1/src/callbacks.c:649:8: [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). text[strlen (text)] = 'h'; data/gnusim8085-1.4.1/src/callbacks.c:670:8: [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). text[strlen (text)] = 'h'; data/gnusim8085-1.4.1/src/callbacks.c:688:8: [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). text[strlen (text)] = 'h'; data/gnusim8085-1.4.1/src/file-op-gio.c:98: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 (lines[ln]) > 1) data/gnusim8085-1.4.1/src/file-op-gio.c:154:68: [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). bytes = g_output_stream_write (G_OUTPUT_STREAM (file_out), text, strlen (text), NULL, NULL); data/gnusim8085-1.4.1/src/file-op-gio.c:334:69: [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). bytes = g_output_stream_write (G_OUTPUT_STREAM (file_out), text, strlen (text), NULL, NULL); data/gnusim8085-1.4.1/src/file-op.c:95: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 (lines[ln]) > 1) data/gnusim8085-1.4.1/src/file-op.c:160:26: [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). ret = fwrite (text, 1, strlen (text), fp); data/gnusim8085-1.4.1/src/file-op.c:329:27: [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). ret = fwrite (text, 1, strlen (text), fp); ANALYSIS SUMMARY: Hits = 34 Lines analyzed = 14305 in approximately 0.31 seconds (45554 lines/second) Physical Source Lines of Code (SLOC) = 9887 Hits@level = [0] 3 [1] 24 [2] 10 [3] 0 [4] 0 [5] 0 Hits@level+ = [0+] 37 [1+] 34 [2+] 10 [3+] 0 [4+] 0 [5+] 0 Hits/KSLOC@level+ = [0+] 3.74229 [1+] 3.43886 [2+] 1.01143 [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.