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/inform-6.31.1+dfsg/inform-6.31.1/src/expressc.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/directs.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/veneer.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/expressp.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/states.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/memory.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/bpatch.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/syntax.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/arrays.c Examining data/inform-6.31.1+dfsg/inform-6.31.1/src/header.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/hintsms.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/easydoors.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/timepiece.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/calyx_adjectives.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/nameable.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/printtime.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/newbiegrammar.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/whatis.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/trinitystat.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/longint.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/links.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/daemons.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/include/money.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/lib/parserm.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/lib/grammar.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/lib/parser.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/lib/infix.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/lib/english.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/lib/linklpa.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblib.h Examining data/inform-6.31.1+dfsg/inform-6.31.1/lib/linklv.h FINAL RESULTS: data/inform-6.31.1+dfsg/inform-6.31.1/include/links.h:36:38: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. !turnon is a string or routine which gets executed or run when a device is data/inform-6.31.1+dfsg/inform-6.31.1/include/nameable.h:32:49: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. ! that will describe the naming process. It gets data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1570:12: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. while (gets(buffer1)==NULL); cli_file1=buffer1; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1572:12: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. while (gets(buffer2)==NULL); cli_file2=buffer2; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1577:16: [5] (buffer) gets: Does not check for buffer overflows (CWE-120, CWE-20). Use fgets() instead. while (gets(buffer3)==NULL); execute_icl_command(buffer3); data/inform-6.31.1+dfsg/inform-6.31.1/include/hintsms.h:6:45: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. ! Provides a Magnetic Scrolls(R)-like hints-system that decodes code- data/inform-6.31.1+dfsg/inform-6.31.1/lib/parserm.h:17:43: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. ! Definition of grammar token numbering system used by Inform data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:577:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(q, "%s", opco.name); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:601:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(q+strlen(q), "%s", p); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:620:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(q, "%s", opco.name); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:621:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(q+strlen(q), " <%d operand%s", opco.no, data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:1337:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fnt, "[ %s(", name); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:1345:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fnt, "%s%s = ", (i==1)?"":", ", variable_name(i)); data/inform-6.31.1+dfsg/inform-6.31.1/src/directs.c:596:9: [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(serial_code_buffer, token_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:67:28: [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). if (strlen(s) < 128) { strcpy(trimmed_text, s); return; } data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:104:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff, "%s \"%s\"", m, trimmed_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:110:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff, data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:113:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff, data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:121:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff, data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:194:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff,"%s \"%s\"",s1,trimmed_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:200:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff,"%s %d.",s1,val); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:215:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff,"%s \"%s\"",s1,trimmed_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:228:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff, "Expected %s but found %s", s1, trimmed_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:238:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(error_message_buff, data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:243:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff, "%s (ISO Latin1) $%02x", s, uni); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:256:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff, "%s (unicode) $%04x", s, uni); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:258:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff, "%s (ISO Latin1) $%02x", s, uni); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:279:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff,"%s %d.", s1, val); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:287:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff,"%s \"%s\"", s1, trimmed_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:300:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff, "%s \"%s\" declared but not used", type, name); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:311:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff, "Obsolete usage: %s",s1); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:327:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff,"%s \"%s\"",s1,trimmed_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:362:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_message_buff,"%s \"%s\"",s1,trimmed_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:69:5: [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(filename_storage_p, name); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:459:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(settype_command, "settype %s %s", data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:461:9: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(settype_command); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:862:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(settype_command, "settype %s %s", data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:864:9: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(settype_command); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:904:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(topline_buffer, "Transcript of the text of \"%s\"\n\ data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:920:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(botline_buffer, "\n[End of transcript: release %d.%s]\n", data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:931:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(settype_command, "settype %s text", data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:933:9: [4] (shell) system: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. system(settype_command); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:507:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(new_name,"%s%s", old_name, extension); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:510:5: [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(new_name, prefix_path + start_pos); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:517:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(new_name + x, "%s%s", old_name, extension); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:598:9: [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(current_source_path, new_name); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:654:9: [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(new_name, old_name); return; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:846:5: [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(old_name, Source_Path); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:861:5: [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(Source_Path, old_name); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:882:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(p,"%s%s%d", Temporary_Path, Temporary_File, i); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1013:5: [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(Source_Name, file1); convert_filename_flag = TRUE; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1014:5: [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(Code_Name, file1); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1016:9: [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(Code_Name, file2); convert_filename_flag = FALSE; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1519:19: [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). case '(': strcpy(cli_buff,p+1); cli_buff[strlen(cli_buff)-1]=0; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1553:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(banner_line+strlen(banner_line), " for %s", MACHINE_STRING); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1555:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(banner_line+strlen(banner_line), " (%s)", data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:487:9: [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(p, q); data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:1353:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(veneer_error_title, "<veneer routine '%s'>", name); data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:234:21: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(link_errorm, data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:242:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(link_errorm, data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:502:5: [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(current_module_filename, given_filename); data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:619:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(link_banner, data/inform-6.31.1+dfsg/inform-6.31.1/src/memory.c:88:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(chunk_name_buffer, "%s chunk %d", p, no); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:996:21: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(already_error, data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1049:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_b, data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1080:21: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(embedded_name, data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1085:21: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(embedded_name, data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1250:21: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(already_error, data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1298:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(error_b, data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1334:21: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(embedded_name, data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1339:21: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(embedded_name, data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1680:5: [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(shortname_buffer, token_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1778:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(duplicate_name, "%s_1", shortname_buffer); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1867:13: [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(internal_name, token_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1930:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(shortname_buffer, "(%s)", data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:192:5: [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((char *) symbols_free_space, p); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:322:21: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:327:29: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string+strlen(idname_string), data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:345:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:361:21: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:366:29: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string+strlen(idname_string), data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:384:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:398:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:415:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:433:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:448:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:455:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string, "%s", (char *) symbs[named_routine_symbols[i]]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:464:13: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:102:9: [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(buffer, serial_code_buffer); data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:648:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(memory_full_error, data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:1117:17: [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(abbrev_string, data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:1778:17: [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(abbrev_string, data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:132:21: [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(p,p1); strcpy(p1,p2); strcpy(p2,p); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:132:35: [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(p,p1); strcpy(p1,p2); strcpy(p2,p); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:132:50: [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(p,p1); strcpy(p1,p2); strcpy(p2,p); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:186:5: [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((char *)abbreviations_at data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:378:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(all_text_top, "%s\n\n", s_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/veneer.c:2321:21: [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(veneer_source_area, VRs[i].source1); data/inform-6.31.1+dfsg/inform-6.31.1/src/veneer.c:2322:21: [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(veneer_source_area, VRs[i].source2); data/inform-6.31.1+dfsg/inform-6.31.1/src/veneer.c:2323:21: [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(veneer_source_area, VRs[i].source3); data/inform-6.31.1+dfsg/inform-6.31.1/src/veneer.c:2324:21: [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(veneer_source_area, VRs[i].source4); data/inform-6.31.1+dfsg/inform-6.31.1/src/veneer.c:2325:21: [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(veneer_source_area, VRs[i].source5); data/inform-6.31.1+dfsg/inform-6.31.1/src/veneer.c:2326:21: [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(veneer_source_area, VRs[i].source6); data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:133:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(action_sub, "%s__A", token_text); data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:163:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(action_sub, "%s__A", name); data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:207:9: [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(action_sub, (char *) symbs[action_symbol[i]]); data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:320:5: [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(English_verb_list_top+2, English_verb); data/inform-6.31.1+dfsg/inform-6.31.1/lib/parserm.h:4535:42: [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. for (i=1 : i<=100 : i++) j = random(i); data/inform-6.31.1+dfsg/inform-6.31.1/lib/parserm.h:6363:19: [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. return tab-->(random(tab-->0)); data/inform-6.31.1+dfsg/inform-6.31.1/include/easydoors.h:30:35: [2] (misc) open: 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). ! autoopen {0 | 1} ! 0-must open explicitly data/inform-6.31.1+dfsg/inform-6.31.1/include/easydoors.h:33:28: [2] (misc) open: 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). ! opendesc "open", ! open description (default "open") data/inform-6.31.1+dfsg/inform-6.31.1/include/easydoors.h:37:42: [2] (misc) open: 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). ! statedesc() ! prints state (open or closed) for use in room descriptions, data/inform-6.31.1+dfsg/inform-6.31.1/include/easydoors.h:66:29: [2] (misc) open: 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). statedesc [; if (self has open) print (string) self.opendesc; data/inform-6.31.1+dfsg/inform-6.31.1/include/easydoors.h:67:31: [2] (misc) open: 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). if (self hasnt open) print (string) self.closeddesc; ], data/inform-6.31.1+dfsg/inform-6.31.1/include/easydoors.h:74:30: [2] (misc) open: 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). autoopen 1, ! automaticaly open by default data/inform-6.31.1+dfsg/inform-6.31.1/include/timepiece.h:159:19: [2] (misc) open: 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). if (self has open) data/inform-6.31.1+dfsg/inform-6.31.1/lib/english.h:578:20: [2] (misc) open: 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). 12: print "open"; data/inform-6.31.1+dfsg/inform-6.31.1/lib/english.h:579:20: [2] (misc) open: 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). 13: print "open but empty"; data/inform-6.31.1+dfsg/inform-6.31.1/lib/english.h:882:57: [2] (misc) open: 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). 9: print_ret (The) x1, " ", (isorare) x1, "n't open."; data/inform-6.31.1+dfsg/inform-6.31.1/lib/linklpa.h:51:11: [2] (misc) open: 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). Attribute open; data/inform-6.31.1+dfsg/inform-6.31.1/lib/parserm.h:5133:19: [2] (misc) open: 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). if (i has open || i has transparent) data/inform-6.31.1+dfsg/inform-6.31.1/lib/parserm.h:5146:46: [2] (misc) open: 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). if (obj has container) return (obj hasnt open); data/inform-6.31.1+dfsg/inform-6.31.1/lib/parserm.h:5635:18: [2] (misc) open: 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). ! Now re-open the windows to apply the hints data/inform-6.31.1+dfsg/inform-6.31.1/lib/parserm.h:5884:32: [2] (misc) open: 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). ! If we can't even open one window, there's no point in going on. data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:169:75: [2] (misc) open: 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). if (o has transparent || o has supporter || (o has container && o has open)) rtrue; data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:181:25: [2] (misc) open: 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). if ((o1 has open && o2 hasnt open) || (o2 has open && o1 hasnt open)) data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:181:42: [2] (misc) open: 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). if ((o1 has open && o2 hasnt open) || (o2 has open && o1 hasnt open)) data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:181:59: [2] (misc) open: 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). if ((o1 has open && o2 hasnt open) || (o2 has open && o1 hasnt open)) data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:181:76: [2] (misc) open: 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). if ((o1 has open && o2 hasnt open) || (o2 has open && o1 hasnt open)) data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:565:40: [2] (misc) open: 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). if (o has container && o hasnt open) combo=combo+2; data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:566:40: [2] (misc) open: 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). if ((o has container && (o has open || o has transparent)) data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:585:27: [2] (misc) open: 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). if (o has open) data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:623:39: [2] (misc) open: 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). if (o has container && (o has open || o has transparent)) { data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1552:36: [2] (misc) open: 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). if (i has container && i hasnt open) return L__M(##Remove, 1, noun); data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1629:50: [2] (misc) open: 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). if (second has container && second hasnt open) data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1672:20: [2] (misc) open: 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). if (noun hasnt open) return L__M(##EmptyT, 2, noun); data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1676:30: [2] (misc) open: 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). if (second hasnt open) return L__M(##EmptyT, 2, second); data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1686:24: [2] (misc) open: 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). if (noun hasnt open) flag = 1; data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1690:34: [2] (misc) open: 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). if (second hasnt open) flag = 1; data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1732:42: [2] (misc) open: 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). if (noun has container && noun hasnt open) return L__M(##Enter, 3, noun); data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1781:36: [2] (misc) open: 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). if (p has container && p hasnt open) return L__M(##Exit, 2, p); data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1833:21: [2] (misc) open: 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). if (j hasnt open) { data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1898:62: [2] (misc) open: 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). if ((o has door || o has container) && o has open && o provides when_open) { data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:1901:64: [2] (misc) open: 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). if ((o has door || o has container) && o hasnt open && o provides when_closed) { data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:59:8: [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. static char opcode_syntax_string[128]; /* Text buffer holding the correct data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:188:14: [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. return ((char *) symbs[variable_tokens[i]]); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:586:20: [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. { case TEXT: sprintf(q+strlen(q), " <text>"); return; data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:587:21: [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. case LABEL: sprintf(q+strlen(q), " <label>"); return; data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:589:13: [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(q+strlen(q), " <variable>"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:591:38: [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. if (opco.op_rules==CALL) sprintf(q+strlen(q), " <routine>"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:602:33: [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. if ((opco.flags & St) != 0) sprintf(q+strlen(q), " -> <result-variable>"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:603:33: [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. if ((opco.flags & Br) != 0) sprintf(q+strlen(q), " ?[~]<label>"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:625:9: [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(cx, ": "); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:634:21: [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(cx, "Lb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:653:13: [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(cx, "%d", ix+1); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:1312:11: [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 fnt[80]; assembly_operand PV, RFA, CON, STP, SLF; int ln, ln2; data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:1351:9: [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(fnt, ") ]^"); AI.text = fnt; data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:1475:22: [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 *) symbs[j], slines[j]); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:1478:44: [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. dbnu_warning("Label", (char *) symbs[j], slines[j]); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:2496:32: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). custom_opcode_z.code = atoi(token_text+i); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:2508:17: [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 range[32]; data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:2509:17: [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(range, "%d to %d", min, max-1); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:2522:56: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). case 'F': custom_opcode_z.flags2_set = atoi(token_text+i); data/inform-6.31.1+dfsg/inform-6.31.1/src/bpatch.c:104:26: [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 *) symbs[value], slines[value]); data/inform-6.31.1+dfsg/inform-6.31.1/src/bpatch.c:117:26: [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 *) symbs[value]); data/inform-6.31.1+dfsg/inform-6.31.1/src/bpatch.c:238:26: [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 *) symbs[value], slines[value]); data/inform-6.31.1+dfsg/inform-6.31.1/src/bpatch.c:251:26: [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 *) symbs[value]); data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:92: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 alphabet_used[78]; /* Flags (holding 'N' or 'Y') for data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:274:5: [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 cs_buff[256]; data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:278:18: [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). charset_file=fopen(Charset_Map, "r"); data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:299:40: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). uccg[i++] = (uchar)atoi(p); data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:1086:13: [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 uac[4]; data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:1144: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(text, "@{%x}", unicode); data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:1215:5: [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((char *) alphabet[0], "abcdefghijklmnopqrstuvwxyz"); data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:1215:13: [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. strcpy((char *) alphabet[0], "abcdefghijklmnopqrstuvwxyz"); data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:1216:5: [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((char *) alphabet[1], "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:1216:13: [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. strcpy((char *) alphabet[1], "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:1217:5: [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((char *) alphabet[2], " ^0123456789.,!?_#'~/\\-:()"); data/inform-6.31.1+dfsg/inform-6.31.1/src/chars.c:1217:13: [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. strcpy((char *) alphabet[2], " ^0123456789.,!?_#'~/\\-:()"); data/inform-6.31.1+dfsg/inform-6.31.1/src/directs.c:253:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). { i = atoi(token_text+3); data/inform-6.31.1+dfsg/inform-6.31.1/src/directs.c:661:52: [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. assemble_routine_header(k, FALSE, (char *) symbs[i], data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:12:8: [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. static char error_message_buff[256]; data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:63:8: [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. static char trimmed_text[128]; data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:176:9: [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(forerrors_buff+68," ...etc"); data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:247:9: [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(error_message_buff+strlen(error_message_buff), data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:262:9: [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(error_message_buff+strlen(error_message_buff), data/inform-6.31.1+dfsg/inform-6.31.1/src/expressc.c:431:22: [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. t = (char *) (symbs[AO.value]); data/inform-6.31.1+dfsg/inform-6.31.1/src/expressc.c:434:18: [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. t = (char *) (symbs[variable_tokens[AO.value]]); data/inform-6.31.1+dfsg/inform-6.31.1/src/expressc.c:796:22: [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. t = (char *) (symbs[AO.value]); data/inform-6.31.1+dfsg/inform-6.31.1/src/expressc.c:799:18: [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. t = (char *) (symbs[variable_tokens[AO.value]]); data/inform-6.31.1+dfsg/inform-6.31.1/src/expressp.c:13:8: [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. static char separators_to_operators[103]; data/inform-6.31.1+dfsg/inform-6.31.1/src/expressp.c:14:8: [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. static char conditionals_to_operators[7]; data/inform-6.31.1+dfsg/inform-6.31.1/src/expressp.c:15:8: [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. static char token_type_allowable[301]; data/inform-6.31.1+dfsg/inform-6.31.1/src/expressp.c:1115:9: [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 folding_error[40]; data/inform-6.31.1+dfsg/inform-6.31.1/src/expressp.c:1121:17: [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(folding_error, "%d + %d = %d", ov1, ov2, x); data/inform-6.31.1+dfsg/inform-6.31.1/src/expressp.c:1124:17: [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(folding_error, "%d - %d = %d", ov1, ov2, x); data/inform-6.31.1+dfsg/inform-6.31.1/src/expressp.c:1127:17: [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(folding_error, "%d * %d = %d", ov1, ov2, x); data/inform-6.31.1+dfsg/inform-6.31.1/src/expressp.c:1326:24: [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 *) operators[opnum_below].description); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:43: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 Temp1_Name[PATHLEN], Temp2_Name[PATHLEN], Temp3_Name[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:54:5: [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[PATHLEN]; int x = 0; FILE *handle; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:62:18: [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). handle = fopen(name,"r"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:257:16: [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. { FILE *fin; char new_name[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:284:17: [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). sf_handle = fopen(new_name,"wb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:311:13: [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). fin=fopen(Temp2_Name,"rb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:386:13: [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). fin=fopen(Temp1_Name,"rb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:406:17: [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). fin=fopen(Temp3_Name,"rb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:458:9: [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 settype_command[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:473:16: [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. { FILE *fin; char new_name[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:482:17: [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). sf_handle = fopen(new_name,"wb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:572:7: [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 serialnum[8]; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:583:13: [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). fin=fopen(Temp2_Name,"rb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:861:9: [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 settype_command[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:895:5: [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 topline_buffer[256]; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:897:30: [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). transcript_file_handle = fopen(Transcript_Name,"w"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:916:5: [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 botline_buffer[256]; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:917:5: [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 sn_buffer[7]; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:930:9: [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 settype_command[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:948:14: [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). { Debug_fp=fopen(Debugging_Name,"wb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:1037:14: [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). Temp1_fp=fopen(Temp1_Name,"wb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:1041:14: [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). Temp2_fp=fopen(Temp2_Name,"wb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:1047:14: [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). Temp3_fp=fopen(Temp3_Name,"wb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/header.h:772:5: [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 *keywords[120]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:262: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 Source_Name[PATHLEN]; /* Processed name of first input file */ data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:263: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 Code_Name[PATHLEN]; /* Processed name of output file */ data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:403:8: [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. static char Source_Path[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:404:8: [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. static char Include_Path[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:405:8: [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. static char Code_Path[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:406:8: [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. static char Module_Path[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:407:8: [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. static char Temporary_Path[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:408:8: [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. static char current_source_path[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:409:8: [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 Debugging_Name[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:410:8: [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 Transcript_Name[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:411:8: [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 Language_Name[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:412:8: [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 Charset_Map[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:413:8: [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. static char ICL_Path[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:463:9: [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 pathname[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:705:5: [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 old_name[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:706:5: [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 new_name[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:830: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(old_name, "demos%cplugh", FN_SEP); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:834: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(old_name, "demos%cplugh", FN_SEP); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:847: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(new_name, "%cnew%cold%crecent%cold%cancient", data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:884: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(p+strlen(p), "_proc%08lx", (long int) unique_task_id()); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:887: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(p+strlen(p), ".tmp"); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:892:8: [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. static char riscos_ft_buffer[4]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:903: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(riscos_ft_buffer, "%03x", 0x60 + version_number); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1410: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 cli_buff[256], fw[256]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1414: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 filename[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1419:24: [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). command_file = fopen(filename,"r"); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1457:5: [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 cli_buff[256], fw[256]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1475:17: [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 story_name[PATHLEN], code_name[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1512:5: [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[PATHLEN], cli_buff[256]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1523:42: [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). command_file = fopen(filename,"r"); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1541: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 banner_line[80]; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1545: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(banner_line, "Inform %d.%d%d", data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1548:9: [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(banner_line+strlen(banner_line), " (biplatform, G%d.%d%d)", data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1567:5: [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 buffer1[PATHLEN], buffer2[PATHLEN], buffer3[PATHLEN]; data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:432:8: [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. static char one_letter_locals[128]; data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:608:14: [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. static const char separators[NUMBER_SEPARATORS][4] = data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:1106:13: [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(lex_p, "<end of file>"); data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:1184:25: [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 chb[4]; data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:1208:17: [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 bad_length[100]; data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:1209:17: [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(bad_length, data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:1231:22: [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. { r = (char *) separators[j]; data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:1323:8: [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. static char veneer_error_title[64]; data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:202:8: [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. static char link_errorm[128]; data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:254:51: [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. printf("Creating action ##%s\n", (char *) symbs[index]); data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:303:35: [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. IE.symbol_value, (char *) (symbs[index]), svals[index]); data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:492: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 current_module_filename[128]; data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:497:5: [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[128]; data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:509:13: [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). fin=fopen(filename,"rb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:525:9: [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 ebuff[100]; data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:526:9: [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(ebuff, data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:618:9: [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 link_banner[128]; data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:640:9: [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 word[10]; data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:686:22: [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 *) symbs[xref_table[i]]); data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:1040:35: [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. IE.symbol_name = (char *) (symbs[symbol_number]); data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:1058:32: [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. write_link_string((char *) (symbs[symbol_number])); data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:1068:35: [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. IE.symbol_name = (char *) (symbs[symbol_number]); data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:1076:32: [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. write_link_string((char *) (symbs[symbol_number])); data/inform-6.31.1+dfsg/inform-6.31.1/src/memory.c:80:8: [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. static char chunk_name_buffer[60]; data/inform-6.31.1+dfsg/inform-6.31.1/src/memory.c:670:23: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). j=(int32) atoi(command+i+1); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:39:8: [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. static char shortname_buffer[766]; /* Text buffer to hold the short name data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:995:21: [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 already_error[128]; data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1044:22: [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 *) symbs[token_value]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1048:17: [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 error_b[128]; data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1052:22: [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 *) symbs[defined_this_segment[i]], data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1053:22: [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 *) symbs[token_value]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1078:17: [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 embedded_name[80]; data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1082:26: [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 *) symbs[property_name_symbol]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1087:26: [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 *) symbs[property_name_symbol]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1141:22: [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 *) symbs[property_name_symbol]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1185:22: [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 *) symbs[property_name_symbol]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1249:21: [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 already_error[128]; data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1293:22: [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 *) symbs[token_value]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1297:17: [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 error_b[128]; data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1301:22: [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 *) symbs[defined_this_segment[i]], data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1302:22: [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 *) symbs[token_value]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1332:17: [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 embedded_name[80]; data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1336:26: [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 *) symbs[property_name_symbol]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1341:26: [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 *) symbs[property_name_symbol]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1395:22: [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 *) symbs[property_name_symbol]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1648:5: [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 duplicate_name[128]; dbgl start_dbgl = token_line_ref; data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1683:23: [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. classname_text = (char *) symbs[token_value]; data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1783:17: [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(duplicate_name+i+1, "%d", n); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1816:5: [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 internal_name[64]; data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1823: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(internal_name, "nameless_obj__%d", no_objects+1); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1931:18: [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 *) symbs[internal_name_symbol]); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1933:13: [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(shortname_buffer, "(%d)", no_objects+1); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:163:14: [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. r = (char *)symbs[this]; data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:253:13: [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. k, (char *) (symbs[k]), slines[k]/0x10000, slines[k]%0x10000, data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:287:48: [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. dbnu_warning(typename(stypes[i]), (char *) symbs[i], slines[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:304:33: [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. { int i, j, k, t, null_value; char idname_string[256]; data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:305:12: [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. static char unknown_attribute[20] = "<unknown attribute>"; data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:322:51: [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. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:328:41: [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. "/%s", (char *) symbs[j]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:345:47: [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. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:361:51: [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. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:367:41: [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. "/%s", (char *) symbs[j]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:384:47: [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. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:398:43: [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. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:415:43: [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. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:433:39: [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. sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:448:43: [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. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:455:39: [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. { sprintf(idname_string, "%s", (char *) symbs[named_routine_symbols[i]]); data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:464:43: [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. { sprintf(idname_string, "%s", (char *) symbs[i]); data/inform-6.31.1+dfsg/inform-6.31.1/src/syntax.c:118:22: [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 *) symbs[routine_symbol], FALSE, routine_symbol), data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:78: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 serial_code_buffer[7]; /* specified this 6-digit serial code */ data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:105:9: [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(buffer,"970000"); data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:647:9: [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 memory_full_error[80]; data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:683:13: [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 code_full_error[80]; data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:684:13: [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(code_full_error, data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:692:13: [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 strings_full_error[140]; data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:694:17: [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(strings_full_error, data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:698:17: [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(strings_full_error, data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:1116:17: [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 abbrev_string[64]; data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:1556:14: [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 serialnum[8]; data/inform-6.31.1+dfsg/inform-6.31.1/src/tables.c:1777:17: [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 abbrev_string[64]; data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:124:31: [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. { int bubble_sort, j, k, l; char p[MAX_ABBREV_LENGTH]; char *p1, *p2; data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:440:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). i+=2; j=atoi((char *) (text_in+i)); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:579:19: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). i+=2; j=atoi((char *) (text_in+i)); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:711:14: [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). Temp1_fp=fopen(Temp1_Name,"rb"); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1029:5: [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 text[4]; data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1042:5: [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 text[64]; data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1901:5: [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 textual_form[32]; data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1955:15: [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. { int j, c; char chartext[8]; data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1986:5: [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 d_buffer[81]; data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1988: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(d_buffer, "\n[Dictionary contains %d entries:]\n", dict_entries); data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:125:5: [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 action_sub[MAX_IDENTIFIER_LENGTH+4]; data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:159:5: [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 action_sub[MAX_IDENTIFIER_LENGTH+4]; data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:201:5: [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 action_sub[MAX_IDENTIFIER_LENGTH+4]; data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:207:29: [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. { strcpy(action_sub, (char *) symbs[action_symbol[i]]); data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:208:9: [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(action_sub + strlen(action_sub) - 3, "Sub"); data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:652:5: [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 *English_verbs_given[32]; int no_given = 0, i; data/inform-6.31.1+dfsg/inform-6.31.1/include/daemons.h:74:64: [1] (buffer) equal: Function does not check the second iterator for over-read conditions (CWE-126). This function is often discouraged by most C++ coding standards in favor of its safer alternatives provided since C++14. Consider using a form of this function that checks the second iterator before potentially overflowing it. ! the object is inserted after all objects with a greater-or-equal priority, data/inform-6.31.1+dfsg/inform-6.31.1/lib/parserm.h:838:5: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read a_buffer a_table; data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:683:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read buffer parse; data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:685:9: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). read buffer parse DrawStatusLine; data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:994:63: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (location == nothing || parent(player) == nothing) read buffer parse; data/inform-6.31.1+dfsg/inform-6.31.1/lib/verblibm.h:995:14: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). else read buffer parse DrawStatusLine; data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:586:30: [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). { case TEXT: sprintf(q+strlen(q), " <text>"); return; data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:587:31: [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). case LABEL: sprintf(q+strlen(q), " <label>"); return; data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:589:23: [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). sprintf(q+strlen(q), " <variable>"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:591:48: [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 (opco.op_rules==CALL) sprintf(q+strlen(q), " <routine>"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:601: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). sprintf(q+strlen(q), "%s", p); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:602: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 ((opco.flags & St) != 0) sprintf(q+strlen(q), " -> <result-variable>"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:603: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 ((opco.flags & Br) != 0) sprintf(q+strlen(q), " ?[~]<label>"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:621: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). sprintf(q+strlen(q), " <%d operand%s", opco.no, data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:624:16: [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). cx = q+strlen(q); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:626: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). cx += strlen(cx); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:637:21: [1] (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 character. strcpy(cx, "S"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:640:21: [1] (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 character. strcpy(cx, "L"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:644:17: [1] (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 character. strcpy(cx, "S"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:647:17: [1] (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 character. strcpy(cx, "S"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:650:17: [1] (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 character. strcpy(cx, "L"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:652:19: [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). cx += strlen(cx); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:654:19: [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). cx += strlen(cx); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:657:5: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. sprintf(q+strlen(q), ">"); data/inform-6.31.1+dfsg/inform-6.31.1/src/asm.c:657: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). sprintf(q+strlen(q), ">"); data/inform-6.31.1+dfsg/inform-6.31.1/src/directs.c:62:16: [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(token_text)<2) data/inform-6.31.1+dfsg/inform-6.31.1/src/directs.c:252:17: [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). && (strlen(token_text)==7)) data/inform-6.31.1+dfsg/inform-6.31.1/src/directs.c:588:39: [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 ((token_type != DQ_TT) || (strlen(token_text)!=6)) data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:67: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). if (strlen(s) < 128) { strcpy(trimmed_text, s); return; } data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:247:36: [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). sprintf(error_message_buff+strlen(error_message_buff), data/inform-6.31.1+dfsg/inform-6.31.1/src/errors.c:262:36: [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). sprintf(error_message_buff+strlen(error_message_buff), data/inform-6.31.1+dfsg/inform-6.31.1/src/expressp.c:308:25: [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(token_text) > 4) data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:65:39: [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 (filename_storage_left <= (int)strlen(name)) data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:68:30: [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). filename_storage_left -= strlen(name)+1; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:72: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). filename_storage_p += strlen(name)+1; data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:336:45: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). sf_put((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:342:48: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). { int32 v = (temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:344:51: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). v = 256*v + ((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:351:48: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). { int32 v = (temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:366:41: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). sf_put((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:389:56: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). for (i=0; i<static_strings_extent; i++) sf_put(fgetc(fin)); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:409:53: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). for (j=0; j<link_data_size; j++) sf_put(fgetc(fin)); data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:606:43: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). sf_put((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:614:41: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). v = ((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:616:52: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). v = (v << 8) | ((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:618:52: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). v = (v << 8) | ((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:620:52: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). v = (v << 8) | ((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:632:41: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). v = ((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:634:52: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). v = (v << 8) | ((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:648:41: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). v = ((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:674:41: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). sf_put((temporary_files_switch)?fgetc(fin): data/inform-6.31.1+dfsg/inform-6.31.1/src/files.c:741:18: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ch = fgetc(Temp1_fp); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:502: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). if (strlen(old_name)+strlen(extension) >= PATHLEN) { data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:502: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). if (strlen(old_name)+strlen(extension) >= PATHLEN) { data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:513: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 (x+strlen(old_name)+strlen(extension) >= PATHLEN) { data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:513:28: [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 (x+strlen(old_name)+strlen(extension) >= PATHLEN) { data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:526: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). i = strlen(name)-1; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:599:16: [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). for (i=strlen(current_source_path)-1; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:660:16: [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). { for (i=strlen(old_name)-1; (i>=0)&&(old_name[i]!=FN_SEP) ;i--) ; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:665: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). for (i=strlen(old_name)-1; (i>=0)&&(old_name[i]!='.') ;i--) ; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:878: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). if (strlen(Temporary_Path)+strlen(Temporary_File)+6 >= PATHLEN) { data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:878:32: [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(Temporary_Path)+strlen(Temporary_File)+6 >= PATHLEN) { data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:884: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). sprintf(p+strlen(p), "_proc%08lx", (long int) unique_task_id()); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:887: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). sprintf(p+strlen(p), ".tmp"); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1358:29: [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). || ((p[0]=='(')&&(p[strlen(p)-1]==')')) ) return TRUE; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1519:50: [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). case '(': strcpy(cli_buff,p+1); cli_buff[strlen(cli_buff)-1]=0; data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1548:29: [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). sprintf(banner_line+strlen(banner_line), " (biplatform, G%d.%d%d)", data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1553:25: [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). sprintf(banner_line+strlen(banner_line), " for %s", MACHINE_STRING); data/inform-6.31.1+dfsg/inform-6.31.1/src/inform.c:1555:25: [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). sprintf(banner_line+strlen(banner_line), " (%s)", data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:488: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). p += strlen(p)+1; data/inform-6.31.1+dfsg/inform-6.31.1/src/lexer.c:1107:22: [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). lex_p += strlen(lex_p) + 1; data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:191: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). m_read_pos += strlen((char *) (p+m_read_pos))+1; data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:516:30: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). for (i=0;i<64;i++) p0[i]=fgetc(fin); data/inform-6.31.1+dfsg/inform-6.31.1/src/linker.c:538:41: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). for (k=64;k<module_size;k++) p[k] = fgetc(fin); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:196:21: [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 (strcmp(name+strlen(name)-3, "_to") == 0) sflags[i] |= STAR_SFLAG; data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1072:47: [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). && ((token_type != SQ_TT) || (strlen(token_text) <2 )) data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1781:25: [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). { int i = strlen(duplicate_name); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1850:5: [1] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source is a constant character. sprintf(shortname_buffer, "?"); data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1936: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). { if (strlen(textual_name)>765) data/inform-6.31.1+dfsg/inform-6.31.1/src/objects.c:1938:9: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(shortname_buffer, textual_name, 765); data/inform-6.31.1+dfsg/inform-6.31.1/src/states.c:217:19: [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(token_text) > 32) data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:184:28: [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 (symbols_free_space+strlen(p)+1 >= symbols_ceiling) data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:194: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). symbols_free_space += strlen((char *)symbols_free_space) + 1; data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:327:51: [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). { sprintf(idname_string+strlen(idname_string), data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:366:51: [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). { sprintf(idname_string+strlen(idname_string), data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:399: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). idname_string[strlen(idname_string)-3] = 0; data/inform-6.31.1+dfsg/inform-6.31.1/src/symbols.c:416: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). idname_string[strlen(idname_string)-3] = 0; data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:375:33: [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). { no_chars_transcribed += strlen(s_text)+2; data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:379:25: [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). all_text_top += strlen(all_text_top); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:568: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). i += (strlen(cx)-1); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:724:16: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ch = fgetc(Temp1_fp); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:866:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ch = fgetc(Temp1_fp); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1010:40: [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). compression_table_size += (1 + 1 + strlen(cx)); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1139: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). a=strlen(s1); b=strlen(s2); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1139:21: [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). a=strlen(s1); b=strlen(s2); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1852:17: [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). { int i = strlen(d_show_to); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1886: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). cc = strlen(results); data/inform-6.31.1+dfsg/inform-6.31.1/src/text.c:1891:22: [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). cc = strlen(results); data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:208:29: [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). strcpy(action_sub + strlen(action_sub) - 3, "Sub"); data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:314:31: [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). English_verb_list_size += strlen(English_verb)+3; data/inform-6.31.1+dfsg/inform-6.31.1/src/verbs.c:318:34: [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). English_verb_list_top[0] = 3+strlen(English_verb); ANALYSIS SUMMARY: Hits = 454 Lines analyzed = 48636 in approximately 1.44 seconds (33805 lines/second) Physical Source Lines of Code (SLOC) = 31652 Hits@level = [0] 621 [1] 101 [2] 244 [3] 2 [4] 102 [5] 5 Hits@level+ = [0+] 1075 [1+] 454 [2+] 353 [3+] 109 [4+] 107 [5+] 5 Hits/KSLOC@level+ = [0+] 33.9631 [1+] 14.3435 [2+] 11.1525 [3+] 3.4437 [4+] 3.38051 [5+] 0.157968 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.