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/espeakedit-1.48.03/docs/speak_lib.h Examining data/espeakedit-1.48.03/praat-mod/Sound_JSD.cpp Examining data/espeakedit-1.48.03/src/StdAfx.h Examining data/espeakedit-1.48.03/src/compiledict.cpp Examining data/espeakedit-1.48.03/src/debug.cpp Examining data/espeakedit-1.48.03/src/debug.h Examining data/espeakedit-1.48.03/src/dictionary.cpp Examining data/espeakedit-1.48.03/src/espeak_command.cpp Examining data/espeakedit-1.48.03/src/espeak_command.h Examining data/espeakedit-1.48.03/src/event.cpp Examining data/espeakedit-1.48.03/src/event.h Examining data/espeakedit-1.48.03/src/fifo.cpp Examining data/espeakedit-1.48.03/src/fifo.h Examining data/espeakedit-1.48.03/src/formantdlg.cpp Examining data/espeakedit-1.48.03/src/intonation.cpp Examining data/espeakedit-1.48.03/src/klatt.cpp Examining data/espeakedit-1.48.03/src/klatt.h Examining data/espeakedit-1.48.03/src/main.h Examining data/espeakedit-1.48.03/src/mbrowrap.cpp Examining data/espeakedit-1.48.03/src/mbrowrap.h Examining data/espeakedit-1.48.03/src/menus.cpp Examining data/espeakedit-1.48.03/src/numbers.cpp Examining data/espeakedit-1.48.03/src/options.cpp Examining data/espeakedit-1.48.03/src/options.h Examining data/espeakedit-1.48.03/src/phoneme.h Examining data/espeakedit-1.48.03/src/phonemelist.cpp Examining data/espeakedit-1.48.03/src/portaudio.h Examining data/espeakedit-1.48.03/src/portaudio18.h Examining data/espeakedit-1.48.03/src/portaudio19.h Examining data/espeakedit-1.48.03/src/prosodydisplay.cpp Examining data/espeakedit-1.48.03/src/prosodydisplay.h Examining data/espeakedit-1.48.03/src/readclause.cpp Examining data/espeakedit-1.48.03/src/setlengths.cpp Examining data/espeakedit-1.48.03/src/sintab.h Examining data/espeakedit-1.48.03/src/sonic.cpp Examining data/espeakedit-1.48.03/src/sonic.h Examining data/espeakedit-1.48.03/src/speak_lib.cpp Examining data/espeakedit-1.48.03/src/speak_lib.h Examining data/espeakedit-1.48.03/src/spect.h Examining data/espeakedit-1.48.03/src/spectdisplay.cpp Examining data/espeakedit-1.48.03/src/spectseq.cpp Examining data/espeakedit-1.48.03/src/speech.h Examining data/espeakedit-1.48.03/src/synth_mbrola.cpp Examining data/espeakedit-1.48.03/src/synthdata.cpp Examining data/espeakedit-1.48.03/src/synthesize.cpp Examining data/espeakedit-1.48.03/src/synthesize.h Examining data/espeakedit-1.48.03/src/tr_languages.h Examining data/espeakedit-1.48.03/src/translate.cpp Examining data/espeakedit-1.48.03/src/translate.h Examining data/espeakedit-1.48.03/src/transldlg.cpp Examining data/espeakedit-1.48.03/src/voice.h Examining data/espeakedit-1.48.03/src/voicedlg.cpp Examining data/espeakedit-1.48.03/src/voices.cpp Examining data/espeakedit-1.48.03/src/vowelchart.cpp Examining data/espeakedit-1.48.03/src/wave.cpp Examining data/espeakedit-1.48.03/src/wave.h Examining data/espeakedit-1.48.03/src/wavegen.cpp Examining data/espeakedit-1.48.03/src/spect.cpp Examining data/espeakedit-1.48.03/src/compiledata.cpp Examining data/espeakedit-1.48.03/src/espeakedit.cpp Examining data/espeakedit-1.48.03/src/extras.cpp Examining data/espeakedit-1.48.03/src/tr_languages.cpp FINAL RESULTS: data/espeakedit-1.48.03/src/compiledata.cpp:870:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(mnem1,WordToString(p1->mnemonic)); data/espeakedit-1.48.03/src/compiledata.cpp:894:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%s_%s",dsource, dictname, files[ix]); data/espeakedit-1.48.03/src/compiledata.cpp:990:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(save_voice_name,voice_name2); data/espeakedit-1.48.03/src/compiledata.cpp:992:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_log,"%s%s",path_dsource,"dict_log"); data/espeakedit-1.48.03/src/compiledata.cpp:998:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_log,"%s%s",path_dsource,"dict_phonemes"); data/espeakedit-1.48.03/src/compiledata.cpp:1018:3: [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(dictname,dictstr.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/compiledata.cpp:1021:3: [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(voicename,dictname); data/espeakedit-1.48.03/src/compiledata.cpp:1024:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s%s_rules.txt",path_dsource,dictname); data/espeakedit-1.48.03/src/compiledata.cpp:1027:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s%s_rules",path_dsource,dictname); data/espeakedit-1.48.03/src/compiledata.cpp:1104:2: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. fprintf(f_errors,format,string); data/espeakedit-1.48.03/src/compiledata.cpp:1114:67: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. static FILE *fopen_log(FILE *f_log, const char *fname,const char *access) data/espeakedit-1.48.03/src/compiledata.cpp:1119:22: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if((f = fopen(fname,access)) == NULL) data/espeakedit-1.48.03/src/compiledata.cpp:1122:50: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. fprintf(f_log,"Can't access (%s) file '%s'\n",access,fname); data/espeakedit-1.48.03/src/compiledata.cpp:1875:3: [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(fname_temp,tmpnam(NULL)); data/espeakedit-1.48.03/src/compiledata.cpp:1882: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(msg, fname); data/espeakedit-1.48.03/src/compiledata.cpp:1887:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(command,"sox \"%s%s.wav\" -r %d -c1 -t wav %s\n",path_source,fname2,samplerate_native, fname_temp); data/espeakedit-1.48.03/src/compiledata.cpp:1888:12: [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. if(system(command) != 0) data/espeakedit-1.48.03/src/compiledata.cpp:1902:17: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(msg, "Can't resample (%d to %d): %s", sr1, samplerate_native, fname); data/espeakedit-1.48.03/src/compiledata.cpp:2162:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s%s",path_source,path); data/espeakedit-1.48.03/src/compiledata.cpp:2166:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s%s.wav",path_source,path); data/espeakedit-1.48.03/src/compiledata.cpp:2221:3: [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(p2->string,path); data/espeakedit-1.48.03/src/compiledata.cpp:2287:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(path, item_string); data/espeakedit-1.48.03/src/compiledata.cpp:2646:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf,string); data/espeakedit-1.48.03/src/compiledata.cpp:2794:3: [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(proc_names[n_procs], item_string); data/espeakedit-1.48.03/src/compiledata.cpp:3357:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(foreign_table_name, item_string); data/espeakedit-1.48.03/src/compiledata.cpp:3358:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(save_voice_name,voice_name2); data/espeakedit-1.48.03/src/compiledata.cpp:3387:13: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. n_names = sscanf(line_buf,"%s %s %s %s %s %s",names[0],names[1],names[2],names[3],names[4],names[5]); data/espeakedit-1.48.03/src/compiledata.cpp:3414:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(line_buf,"%s/%s", foreign_table_name, names[0]); data/espeakedit-1.48.03/src/compiledata.cpp:3474:4: [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_fname,stack[stack_ix].fname); data/espeakedit-1.48.03/src/compiledata.cpp:3488:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s%s",path_source,item_string); data/espeakedit-1.48.03/src/compiledata.cpp:3494: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(stack[stack_ix].fname,current_fname); data/espeakedit-1.48.03/src/compiledata.cpp:3608:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%s",path_source,"error_log"); data/espeakedit-1.48.03/src/compiledata.cpp:3612:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%s",path_source,"compile_report"); data/espeakedit-1.48.03/src/compiledata.cpp:3616:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s/%s",path_home,"phondata-manifest"); data/espeakedit-1.48.03/src/compiledata.cpp:3641:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s/%s",path_home,"phondata"); data/espeakedit-1.48.03/src/compiledata.cpp:3644:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s/%s",path_home,"phonindex"); data/espeakedit-1.48.03/src/compiledata.cpp:3647:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s/%s",path_home,"phontab"); data/espeakedit-1.48.03/src/compiledata.cpp:3655:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%scompile_prog_log",path_source); data/espeakedit-1.48.03/src/compiledata.cpp:3759:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf,filepath.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/compiledata.cpp:3779:7: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. n = sscanf(buf,"%d %s %s %d %s %s",&control,phoneme,phoneme2,&percent,name1,name2); data/espeakedit-1.48.03/src/compiledata.cpp:3805:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(mbrola_voice,filename.GetName().mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/compiledata.cpp:3806:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s/mbrola_ph/%s_phtrans",path_home,mbrola_voice); data/espeakedit-1.48.03/src/compiledata.cpp:3899:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_errors,"%s%s",path_source,"error_intonation"); data/espeakedit-1.48.03/src/compiledata.cpp:3903:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%sintonation.txt",path_source); data/espeakedit-1.48.03/src/compiledata.cpp:3906:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%sintonation",path_source); data/espeakedit-1.48.03/src/compiledata.cpp:3918:3: [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(tune_names[ix], preset_tune_names[ix]); data/espeakedit-1.48.03/src/compiledata.cpp:3972:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s/intonations",path_home); data/espeakedit-1.48.03/src/compiledict.cpp:171:54: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. static FILE *fopen_log(const char *fname,const char *access) data/espeakedit-1.48.03/src/compiledict.cpp:176:22: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if((f = fopen(fname,access)) == NULL) data/espeakedit-1.48.03/src/compiledict.cpp:179:50: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. fprintf(f_log,"Can't access (%s) file '%s'\n",access,fname); data/espeakedit-1.48.03/src/compiledict.cpp:210:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, "%s", LookupMnemName(mnem_flags, stress + 0x40)); data/espeakedit-1.48.03/src/compiledict.cpp:224:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, " %s", name); data/espeakedit-1.48.03/src/compiledict.cpp:321: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(&p[1],name); data/espeakedit-1.48.03/src/compiledict.cpp:341:4: [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,suffix); data/espeakedit-1.48.03/src/compiledict.cpp:398:2: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(p,buf); data/espeakedit-1.48.03/src/compiledict.cpp:754:3: [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(&dict_line[(len_word)+2],encoded_ph); data/espeakedit-1.48.03/src/compiledict.cpp:863:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%s.txt",path,filename); data/espeakedit-1.48.03/src/compiledict.cpp:866:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%s",path,filename); data/espeakedit-1.48.03/src/compiledict.cpp:1286:3: [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(rule_match,group_name); data/espeakedit-1.48.03/src/compiledict.cpp:1305:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(output,buf); data/espeakedit-1.48.03/src/compiledict.cpp:1322:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(&output[len],rule_match); data/espeakedit-1.48.03/src/compiledict.cpp:1380:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(&output[len],"%c%s",RULE_POST,rule_post); data/espeakedit-1.48.03/src/compiledict.cpp:1465: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(pout,suffix); data/espeakedit-1.48.03/src/compiledict.cpp:1504:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf," %s ",rule_match); data/espeakedit-1.48.03/src/compiledict.cpp:1508:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(p,"(%s ",rule_post); data/espeakedit-1.48.03/src/compiledict.cpp:1717: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(rgroup[n_rgroups].name,group_name); data/espeakedit-1.48.03/src/compiledict.cpp:1933:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s%s_",dsource,dict_name); data/espeakedit-1.48.03/src/compiledict.cpp:1934:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_in,"%srules.txt",path); data/espeakedit-1.48.03/src/compiledict.cpp:1937:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_in,"%srules",path); data/espeakedit-1.48.03/src/compiledict.cpp:1941: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(fname_err,fname_in); data/espeakedit-1.48.03/src/compiledict.cpp:1946:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_out,"%s%c%s_dict",path_home,PATHSEP,dict_name); data/espeakedit-1.48.03/src/compiledict.cpp:1950:4: [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(fname_err,fname_out); data/espeakedit-1.48.03/src/compiledict.cpp:1953:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_temp,"%s%ctemp",path_home,PATHSEP); data/espeakedit-1.48.03/src/debug.cpp:50:7: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(fd_log, format, args); data/espeakedit-1.48.03/src/dictionary.cpp:249:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(dictionary_name,name); // currently loaded dictionary name data/espeakedit-1.48.03/src/dictionary.cpp:250:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(tr->dictionary_name, name); data/espeakedit-1.48.03/src/dictionary.cpp:255:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%c%s_dict",path_home,PATHSEP,name); data/espeakedit-1.48.03/src/dictionary.cpp:554:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(phon_out, "(%s)", p); data/espeakedit-1.48.03/src/dictionary.cpp:590:4: [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(phon_out, p); data/espeakedit-1.48.03/src/dictionary.cpp:779:3: [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(&phon_out_buf[phon_out_ix], phon_buf); data/espeakedit-1.48.03/src/dictionary.cpp:1132:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy((char *)phonetic,word); data/espeakedit-1.48.03/src/dictionary.cpp:1878:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(string,ph); data/espeakedit-1.48.03/src/dictionary.cpp:2672:5: [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(buf,str_pause); data/espeakedit-1.48.03/src/dictionary.cpp:2743:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(phonemes,"%c%s",phonSWITCH,tr->langopts.ascii_language); data/espeakedit-1.48.03/src/dictionary.cpp:2800:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(phonemes,"%c%s",phonSWITCH, WordToString2(tr->langopts.alt_alphabet_lang)); data/espeakedit-1.48.03/src/dictionary.cpp:2806:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(phonemes,"%c%s",phonSWITCH, WordToString2(alphabet->language)); data/espeakedit-1.48.03/src/dictionary.cpp:2865: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(phonemes,match1.phonemes); data/espeakedit-1.48.03/src/dictionary.cpp:2885:6: [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(end_phonemes,match1.phonemes); data/espeakedit-1.48.03/src/dictionary.cpp:3155:4: [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(phonetic,p); data/espeakedit-1.48.03/src/dictionary.cpp:3553:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(&word_replacement[2],"%s ",ph_out); // replacement word, preceded by zerochar and space data/espeakedit-1.48.03/src/dictionary.cpp:3604:3: [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(ph_out, word_phonemes); data/espeakedit-1.48.03/src/espeakedit.cpp:133:3: [4] (format) printf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. printf(about_string2,espeak_Info(NULL)); data/espeakedit-1.48.03/src/espeakedit.cpp:363:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, " - %s voice", voice_name); data/espeakedit-1.48.03/src/espeakedit.cpp:365:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, " - %s voice %dHz", voice_name, samplerate_native); data/espeakedit-1.48.03/src/espeakedit.cpp:370:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"Compile &dictionary '%s'",translator->dictionary_name); data/espeakedit-1.48.03/src/espeakedit.cpp:372:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"&Layout '%s_rules' file",translator->dictionary_name); data/espeakedit-1.48.03/src/espeakedit.cpp:374:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"&Sort '%s_rules' file",translator->dictionary_name); data/espeakedit-1.48.03/src/espeakedit.cpp:562:3: [4] (format) sprintf: Potential format string problem (CWE-134). Make format string constant. sprintf(buf,about_string,espeak_Info(NULL)); data/espeakedit-1.48.03/src/espeakedit.cpp:796:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_log,"%s%s",path_dsource,"dict_log"); data/espeakedit-1.48.03/src/extras.cpp:357:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf,fname_lex.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/extras.cpp:364:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf_out, path_dir1.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/extras.cpp:365:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, "%s/IT_errors", buf_out); data/espeakedit-1.48.03/src/extras.cpp:379:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s/it_listx",path_dsource); data/espeakedit-1.48.03/src/extras.cpp:388:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s/it_listx2",path_dsource); data/espeakedit-1.48.03/src/extras.cpp:390:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s/it_listx",path_dsource); data/espeakedit-1.48.03/src/extras.cpp:416:7: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if((sscanf(buf,"%s %s",word,temp)) < 2) data/espeakedit-1.48.03/src/extras.cpp:420:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf_error,"%s\t\t%s\t",word,temp); data/espeakedit-1.48.03/src/extras.cpp:422:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf_error,"%s\t%s",word,temp); data/espeakedit-1.48.03/src/extras.cpp:424:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(word1," %s ",word); data/espeakedit-1.48.03/src/extras.cpp:427:3: [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(word_stem, word); data/espeakedit-1.48.03/src/extras.cpp:461: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(word_stem, word); data/espeakedit-1.48.03/src/extras.cpp:511:4: [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(word_stem, word); data/espeakedit-1.48.03/src/extras.cpp:578:7: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(buf, "%s", word1); data/espeakedit-1.48.03/src/extras.cpp:581:8: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf_out,"%s",buf); // copy it_listx from pass 1 until we reach the matching word data/espeakedit-1.48.03/src/extras.cpp:590:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf_out,"%s %s\n",buf,alt_string); // add $alt or $alt2 to the entry data/espeakedit-1.48.03/src/extras.cpp:594:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf_out,"%s %s\n", word_stem, alt_string); // add a new word with $alt or $alt2 data/espeakedit-1.48.03/src/extras.cpp:602: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(last_listx, buf_out); data/espeakedit-1.48.03/src/extras.cpp:611:8: [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(last_listx, buf_out); data/espeakedit-1.48.03/src/extras.cpp:651: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(last_listx, buf); data/espeakedit-1.48.03/src/extras.cpp:662:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s/it_listx",path_dsource); data/espeakedit-1.48.03/src/extras.cpp:664:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf_out,"%s/it_listx2",path_dsource); data/espeakedit-1.48.03/src/extras.cpp:702:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf,fname.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/extras.cpp:725:3: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(buf,"%s %s %s",word,type,pronounce); data/espeakedit-1.48.03/src/extras.cpp:736:3: [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(word,&word2[1]); data/espeakedit-1.48.03/src/extras.cpp:816:4: [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(phonemes2,phonemes); data/espeakedit-1.48.03/src/extras.cpp:862:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf,s_fname.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/extras.cpp:953:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf,s_fname.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/extras.cpp:963:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%c%s",path_dsource,PATHSEP,"bg_listx"); data/espeakedit-1.48.03/src/extras.cpp:1206:3: [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(buf,fname.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/extras.cpp:1223:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%c%s",path_dsource,PATHSEP,"ru_listx"); data/espeakedit-1.48.03/src/extras.cpp:1236:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%c%s",path_dsource,PATHSEP,"ru_log"); data/espeakedit-1.48.03/src/extras.cpp:1238:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%c%s",path_dsource,PATHSEP,"ru_roots_1"); data/espeakedit-1.48.03/src/extras.cpp:1287:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(word2," %s ",word); // surround word by spaces before calling TranslateWord() data/espeakedit-1.48.03/src/extras.cpp:1392:6: [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(word2,word); data/espeakedit-1.48.03/src/extras.cpp:1523:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(p->word,word); data/espeakedit-1.48.03/src/extras.cpp:1636:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf,dir.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/extras.cpp:1637:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf2,"%s/!wordcounts",buf); data/espeakedit-1.48.03/src/extras.cpp:1668:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf,fname.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/extras.cpp:1728:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_in,"%s%s_rules.txt",path_dsource,dictname); data/espeakedit-1.48.03/src/extras.cpp:1731:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_in,"%s%s_rules",path_dsource,dictname); data/espeakedit-1.48.03/src/extras.cpp:1739:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_out,"%s%s_rules_sorted",path_dsource,dictname); data/espeakedit-1.48.03/src/extras.cpp:1828:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(p,"%s%6d",key,sort_ix); // include the line number (within the sort section) in case the keys are otherwise equal data/espeakedit-1.48.03/src/extras.cpp:1829:3: [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, key); data/espeakedit-1.48.03/src/extras.cpp:1830:3: [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[key_len+1], buf); data/espeakedit-1.48.03/src/extras.cpp:1885:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_in,"%s%s_rules.txt",path_dsource,dictname); data/espeakedit-1.48.03/src/extras.cpp:1888:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_in,"%s%s_rules",path_dsource,dictname); data/espeakedit-1.48.03/src/extras.cpp:1896:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_out,"%s%s_rules_formatted",path_dsource,dictname); data/espeakedit-1.48.03/src/mbrowrap.cpp:75:2: [4] (format) vfprintf: If format strings can be influenced by an attacker, they can be exploited (CWE-134). Use a constant for the format specification. vfprintf(stderr, msg, params); data/espeakedit-1.48.03/src/mbrowrap.cpp:85:2: [4] (format) vsnprintf: If format strings can be influenced by an attacker, they can be exploited, and note that sprintf variations do not always \0-terminate (CWE-134). Use a constant for the format specification. vsnprintf(mbr_errorbuf, sizeof(mbr_errorbuf), errmsg, params); data/espeakedit-1.48.03/src/mbrowrap.cpp:168:3: [4] (shell) execlp: 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. execlp("mbrola", "mbrola", "-e", "-v", charbuf, data/espeakedit-1.48.03/src/menus.cpp:103:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"Compile &dictionary '%s'",dict_name); data/espeakedit-1.48.03/src/menus.cpp:105:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"&Layout '%s_rules' file",dict_name); data/espeakedit-1.48.03/src/menus.cpp:107:9: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"&Sort '%s_rules' file",dict_name); data/espeakedit-1.48.03/src/numbers.cpp:473:7: [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(ph_buf,ph_accent2); data/espeakedit-1.48.03/src/numbers.cpp:482:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_buf,"%s%c%s%c%s%s",ph_accent1, phonPAUSE_VSHORT, ph_letter1, phonSTRESS_P, ph_letter2, ph_accent2); data/espeakedit-1.48.03/src/numbers.cpp:487:7: [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(ph_buf, ph_letter1); data/espeakedit-1.48.03/src/numbers.cpp:489:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_buf,"%s%c%c%s", ph_accent1, phonPAUSE_VSHORT, phonSTRESS_P, ph_letter1); data/espeakedit-1.48.03/src/numbers.cpp:491:7: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_buf,"%c%s%c%s%c", phonSTRESS_2, ph_letter1, phonPAUSE_VSHORT, ph_accent1, phonPAUSE_VSHORT); data/espeakedit-1.48.03/src/numbers.cpp:568:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(ph_buf1, ph_buf3); data/espeakedit-1.48.03/src/numbers.cpp:782:3: [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(phonemes,ph_buf); data/espeakedit-1.48.03/src/numbers.cpp:823:6: [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(ph_buf2, ph_alphabet); data/espeakedit-1.48.03/src/numbers.cpp:832:6: [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(&ph_alphabet[3], ph_buf2); data/espeakedit-1.48.03/src/numbers.cpp:975:5: [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(pbuf, pause_string); data/espeakedit-1.48.03/src/numbers.cpp:983:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_buf2,"%c%s%s%s",0xff,ph_alphabet,ph_buf,capital); data/espeakedit-1.48.03/src/numbers.cpp:985:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_buf2,"%c%s%s%s",0xff,ph_alphabet,capital,ph_buf); // the 0xff marker will be removed or replaced in SetSpellingStress() data/espeakedit-1.48.03/src/numbers.cpp:988:3: [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(&phonemes[len],ph_buf2); data/espeakedit-1.48.03/src/numbers.cpp:1225:3: [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(ph_out,ph_roman); data/espeakedit-1.48.03/src/numbers.cpp:1229:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(number_chars," %d %s ",acc, tr->langopts.roman_suffix); data/espeakedit-1.48.03/src/numbers.cpp:1266:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(ph_out,ph_roman); data/espeakedit-1.48.03/src/numbers.cpp:1375:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(string,"_%s%do",M_Variant(value), thousandplex); data/espeakedit-1.48.03/src/numbers.cpp:1381:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(string,"_%s%de",M_Variant(value), thousandplex); data/espeakedit-1.48.03/src/numbers.cpp:1387:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(string,"_%s%dx",M_Variant(value), thousandplex); data/espeakedit-1.48.03/src/numbers.cpp:1393:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(string,"_%s%d",M_Variant(value), thousandplex); data/espeakedit-1.48.03/src/numbers.cpp:1418:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_out,"%s%s",ph_of,ph_thousands); data/espeakedit-1.48.03/src/numbers.cpp:1473:3: [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(ph_out, digit_lookup); data/espeakedit-1.48.03/src/numbers.cpp:1492: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(ph_ordinal, ph_ordinal2); data/espeakedit-1.48.03/src/numbers.cpp:1500:8: [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(ph_ordinal, ph_ordinal2x); // alternate pronunciation (lang=an) data/espeakedit-1.48.03/src/numbers.cpp:1574:8: [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(ph_tens, ph_ordinal2); data/espeakedit-1.48.03/src/numbers.cpp:1603:7: [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(ph_digits, digit_lookup); data/espeakedit-1.48.03/src/numbers.cpp:1668:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_out,"%s%s%s%s",ph_digits, ph_and, ph_tens, ph_ordinal); data/espeakedit-1.48.03/src/numbers.cpp:1670:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_out,"%s%s%s%s",ph_tens, ph_and, ph_digits, ph_ordinal); data/espeakedit-1.48.03/src/numbers.cpp:1687:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_out,"%s%s%s",ph_tens, ph_digits, ph_ordinal); data/espeakedit-1.48.03/src/numbers.cpp:1816:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_thousands,"%s%c%s%c",ph_10T,phonEND_WORD,ph_digits,phonEND_WORD); // say "thousands" before its number, not after data/espeakedit-1.48.03/src/numbers.cpp:1818:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_thousands,"%s%c%s%c",ph_digits,phonEND_WORD,ph_10T,phonEND_WORD); data/espeakedit-1.48.03/src/numbers.cpp:1850:6: [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(ph_digits, ph_ordinal2); data/espeakedit-1.48.03/src/numbers.cpp:1901:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf1,"%s%s%s%s",ph_thousands,ph_thousand_and,ph_digits,ph_100); data/espeakedit-1.48.03/src/numbers.cpp:1967:4: [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(buf2, ph_ordinal2); data/espeakedit-1.48.03/src/numbers.cpp:1971:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_out,"%s%s%c%s",buf1,ph_hundred_and,phonEND_WORD,buf2); data/espeakedit-1.48.03/src/numbers.cpp:2107:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(string,"_#%s",suffix); data/espeakedit-1.48.03/src/numbers.cpp:2114:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(string,"_x#%s",suffix); data/espeakedit-1.48.03/src/numbers.cpp:2298:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_out,"%s%s%c%s%s",ph_zeros,ph_append,phonEND_WORD,ph_buf2,ph_buf); // say "thousands" before its number data/espeakedit-1.48.03/src/numbers.cpp:2300:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ph_out,"%s%s%s%c%s",ph_zeros,ph_buf2,ph_buf,phonEND_WORD,ph_append); data/espeakedit-1.48.03/src/numbers.cpp:2323:6: [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(ph_out,buf1); data/espeakedit-1.48.03/src/numbers.cpp:2330:6: [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(ph_out,buf1); data/espeakedit-1.48.03/src/numbers.cpp:2347:7: [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(ph_out, buf1); data/espeakedit-1.48.03/src/numbers.cpp:2349:7: [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(ph_buf, buf1); data/espeakedit-1.48.03/src/numbers.cpp:2351:5: [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(ph_out,ph_buf); data/espeakedit-1.48.03/src/numbers.cpp:2360:6: [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(ph_out,buf1); data/espeakedit-1.48.03/src/numbers.cpp:2373:6: [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(ph_out, buf1); data/espeakedit-1.48.03/src/numbers.cpp:2384:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(&ph_out[len],"%c%s", phonEND_WORD, buf1); data/espeakedit-1.48.03/src/numbers.cpp:2389:4: [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(ph_out,buf1); data/espeakedit-1.48.03/src/numbers.cpp:2394:4: [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(ph_out,buf1); data/espeakedit-1.48.03/src/numbers.cpp:2413:4: [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(ph_out,str_pause); // don't add pause for 100s, 6th, etc. data/espeakedit-1.48.03/src/options.cpp:135:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path_home,"%s\\espeak-data",path_base); data/espeakedit-1.48.03/src/options.cpp:153:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path_home,"%s\\espeak-data",path_base); data/espeakedit-1.48.03/src/options.cpp:168:3: [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(path_home, path_espeakdata.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/options.cpp:177:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(voice_name2,string.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/prosodydisplay.cpp:93:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s%c%s",path_home,PATHSEP,"phondata-manifest"); data/espeakedit-1.48.03/src/prosodydisplay.cpp:117:12: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if(sscanf(&buf[2], "%x %s", &value, name) == 2) data/espeakedit-1.48.03/src/prosodydisplay.cpp:121: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(p, name); data/espeakedit-1.48.03/src/prosodydisplay.cpp:255:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"Stress %s%d Amp %2d LengthMod %2d Pitch %3d %3d %s PhFlags %.2x (%s%s)%s", data/espeakedit-1.48.03/src/readclause.cpp:735:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(text_out,"[\002%s]]",phonemes2); data/espeakedit-1.48.03/src/readclause.cpp:812:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"[\002_^_%s %s _^_%s]]","en",phonemes2,WordToString2(tr->translator_name)); data/espeakedit-1.48.03/src/readclause.cpp:819:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"[\002%s]] ",phonemes2); data/espeakedit-1.48.03/src/readclause.cpp:868:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname2,"%s%csoundicons%c%s",path_home,PATHSEP,PATHSEP,fname); data/espeakedit-1.48.03/src/readclause.cpp:895:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(command,"sox \"%s\" -r %d -c1 -t wav %s\n", fname, samplerate, fname_temp); data/espeakedit-1.48.03/src/readclause.cpp:896:8: [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. if(system(command) == 0) data/espeakedit-1.48.03/src/readclause.cpp:977:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(soundicon_tab[slot].filename, fname); data/espeakedit-1.48.03/src/readclause.cpp:1044:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf," %s",punctname); // we need the space before punctname, to ensure it doesn't merge with the previous word (eg. "2.-a") data/espeakedit-1.48.03/src/readclause.cpp:1055:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf2," %s",punctname); data/espeakedit-1.48.03/src/readclause.cpp:1056:6: [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(buf, buf2); data/espeakedit-1.48.03/src/readclause.cpp:1062:6: [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(buf, buf2); data/espeakedit-1.48.03/src/readclause.cpp:1067:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf," %s %d %s", data/espeakedit-1.48.03/src/readclause.cpp:1088:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(&output[*bufix],buf); data/espeakedit-1.48.03/src/readclause.cpp:1192:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(voice_name,ssml_stack[0].voice_name); data/espeakedit-1.48.03/src/readclause.cpp:1193:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(language,ssml_stack[0].language); data/espeakedit-1.48.03/src/readclause.cpp:1207:4: [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(voice_name, sp->voice_name); data/espeakedit-1.48.03/src/readclause.cpp:1215:4: [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(language, sp->language); data/espeakedit-1.48.03/src/readclause.cpp:1224:6: [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(language, &base_voice.languages[1]); data/espeakedit-1.48.03/src/readclause.cpp:1253:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, "%s+%s", v_id, base_voice_variant_name); data/espeakedit-1.48.03/src/readclause.cpp:1311:4: [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(&outbuf[*outix],buf); data/espeakedit-1.48.03/src/readclause.cpp:1576:3: [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(sp->language,v->languages); data/espeakedit-1.48.03/src/readclause.cpp:1661:3: [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_voice_id,new_voice_id); data/espeakedit-1.48.03/src/readclause.cpp:1961:3: [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(&outbuf[*outix],buf); data/espeakedit-1.48.03/src/readclause.cpp:2015: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(&outbuf[*outix],buf); data/espeakedit-1.48.03/src/readclause.cpp:2033:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s/%s",xmlbase,buf); data/espeakedit-1.48.03/src/readclause.cpp:2043:6: [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(&outbuf[*outix],buf); data/espeakedit-1.48.03/src/readclause.cpp:2056:7: [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(&outbuf[*outix],buf); data/espeakedit-1.48.03/src/readclause.cpp:2286:3: [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(buf,ungot_word); data/espeakedit-1.48.03/src/readclause.cpp:2363:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(ungot_string,"%s%c%c",&xml_buf2[0],c1,c2); data/espeakedit-1.48.03/src/readclause.cpp:2459:8: [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(voice_change, current_voice_id); data/espeakedit-1.48.03/src/readclause.cpp:2607:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(text_buf,"%s",text_buf2); data/espeakedit-1.48.03/src/readclause.cpp:2611:7: [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(&buf[ix],text_buf); data/espeakedit-1.48.03/src/readclause.cpp:2756:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(p2,"%s",LookupCharName(tr, c1, 1)); data/espeakedit-1.48.03/src/sonic.cpp:66:5: [4] (format) vsprintf: Potential format string problem (CWE-134). Make format string constant. vsprintf((char *)buffer, (char *)format, ap); data/espeakedit-1.48.03/src/speak_lib.cpp:337:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path_home,"%s/espeak-data",path); data/espeakedit-1.48.03/src/speak_lib.cpp:343:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path_home,"%s/espeak-data",env); data/espeakedit-1.48.03/src/speak_lib.cpp:354:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path_home,"%s\\espeak-data",buf); data/espeakedit-1.48.03/src/speak_lib.cpp:374:5: [4] (race) access: This usually indicates a security flaw. If an attacker can change anything along the path between the call to access() and the file's actual use (e.g., by moving files), the attacker can exploit the race condition (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid()) and try to open the file directly. if(access(path_home,R_OK) != 0) data/espeakedit-1.48.03/src/speak_lib.cpp:376:3: [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(path_home,PATH_ESPEAK_DATA); data/espeakedit-1.48.03/src/spect.cpp:445:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(voice_name1, voice_name2); // remember current voice name data/espeakedit-1.48.03/src/spectdisplay.cpp:416:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(fname, filename.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/synth_mbrola.cpp:135:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/mbrola/%s",path_home,mbrola_voice); data/espeakedit-1.48.03/src/synth_mbrola.cpp:141:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"/usr/share/mbrola/%s",mbrola_voice); data/espeakedit-1.48.03/src/synth_mbrola.cpp:145:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"/usr/share/mbrola/%s/%s",mbrola_voice,mbrola_voice); data/espeakedit-1.48.03/src/synth_mbrola.cpp:149:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"/usr/share/mbrola/voices/%s",mbrola_voice); data/espeakedit-1.48.03/src/synth_mbrola.cpp:169:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path,"%s/mbrola_ph/%s",path_home,phtrans); data/espeakedit-1.48.03/src/synth_mbrola.cpp:199:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(mbrola_name,mbrola_voice); data/espeakedit-1.48.03/src/synth_mbrola.cpp:363:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(output,buf); data/espeakedit-1.48.03/src/synth_mbrola.cpp:389:5: [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(output,buf); data/espeakedit-1.48.03/src/synth_mbrola.cpp:398:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(output,buf); data/espeakedit-1.48.03/src/synth_mbrola.cpp:403:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(output,buf); data/espeakedit-1.48.03/src/synth_mbrola.cpp:497:10: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. ptr += sprintf(ptr,"%s\t",WordToString(name)); data/espeakedit-1.48.03/src/synth_mbrola.cpp:523:12: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. ptr += sprintf(ptr,"%d\t%s", len, pitch); data/espeakedit-1.48.03/src/synth_mbrola.cpp:531:12: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. ptr += sprintf(ptr,"%d\t%s", len1, pitch); data/espeakedit-1.48.03/src/synth_mbrola.cpp:534:12: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. ptr += sprintf(ptr,"%s\t%d\t%s", WordToString(name2), len-len1, pitch); data/espeakedit-1.48.03/src/synth_mbrola.cpp:596:12: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. ptr += sprintf(ptr,"%d\n%s\t",len1,WordToString(name2)); data/espeakedit-1.48.03/src/synth_mbrola.cpp:599:11: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. ptr += sprintf(ptr,"%d%s\n",len,final_pitch); data/espeakedit-1.48.03/src/synthdata.cpp:81:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s%c%s",path_home,PATHSEP,fname); data/espeakedit-1.48.03/src/synthdata.cpp:483:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s%c%s",path_home,PATHSEP,"config"); data/espeakedit-1.48.03/src/synthdata.cpp:495:7: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if(sscanf(&buf[4],"%d %s",&logging_type,string)==2) data/espeakedit-1.48.03/src/synthdata.cpp:511:9: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. ix = sscanf(&buf[10],"_%c %s",&c1,string); data/espeakedit-1.48.03/src/synthdata.cpp:516: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(p,string); data/espeakedit-1.48.03/src/tr_languages.cpp:481:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(tr->dictionary_name, name); data/espeakedit-1.48.03/src/translate.cpp:654:4: [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(word_phonemes,phonemes); data/espeakedit-1.48.03/src/translate.cpp:788: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(p_out, &p[1]); data/espeakedit-1.48.03/src/translate.cpp:807:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(phonemes, phonbuf); data/espeakedit-1.48.03/src/translate.cpp:960: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(word_out, word1); data/espeakedit-1.48.03/src/translate.cpp:1011:4: [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(word_phonemes,phonemes); data/espeakedit-1.48.03/src/translate.cpp:1090:3: [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(word_phonemes, phonemes); data/espeakedit-1.48.03/src/translate.cpp:1126: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(word_phonemes,unpron_phonemes); data/espeakedit-1.48.03/src/translate.cpp:1163: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(word_phonemes,phonemes); data/espeakedit-1.48.03/src/translate.cpp:1173:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(word_phonemes, phonemes); data/espeakedit-1.48.03/src/translate.cpp:1190:6: [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(word_phonemes, phonemes); data/espeakedit-1.48.03/src/translate.cpp:1221:8: [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(phonemes,phonemes2); data/espeakedit-1.48.03/src/translate.cpp:1222:8: [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(end_phonemes,end_phonemes2); data/espeakedit-1.48.03/src/translate.cpp:1282:6: [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(prefix_phonemes, phonemes); data/espeakedit-1.48.03/src/translate.cpp:1288:7: [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(prefix_phonemes, phonemes); data/espeakedit-1.48.03/src/translate.cpp:1298:6: [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(prefix_phonemes,end_phonemes); data/espeakedit-1.48.03/src/translate.cpp:1319:7: [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(word_phonemes,phonemes); data/espeakedit-1.48.03/src/translate.cpp:1331: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(phonemes2,phonemes); data/espeakedit-1.48.03/src/translate.cpp:1352:8: [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(word_phonemes,phonemes); data/espeakedit-1.48.03/src/translate.cpp:1373:8: [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(word_phonemes,phonemes); data/espeakedit-1.48.03/src/translate.cpp:1393:8: [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(phonemes,phonemes2); data/espeakedit-1.48.03/src/translate.cpp:1405: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(end_phonemes2, end_phonemes); data/espeakedit-1.48.03/src/translate.cpp:1407:9: [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(end_phonemes, end_phonemes2); // add the phonemes for the previous suffixes after this one data/espeakedit-1.48.03/src/translate.cpp:1426: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(word_phonemes,phonemes); data/espeakedit-1.48.03/src/translate.cpp:1497:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(word_phonemes, "%s%s%s", unpron_phonemes, prefix_phonemes, phonemes); data/espeakedit-1.48.03/src/translate.cpp:1508:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(word_phonemes, "%s%s%s", unpron_phonemes, prefix_phonemes, phonemes); data/espeakedit-1.48.03/src/translate.cpp:1523:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(word_phonemes, "%s%s%s", unpron_phonemes, prefix_phonemes, phonemes); data/espeakedit-1.48.03/src/translate.cpp:1535:3: [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(&word_phonemes[ix], end_phonemes); data/espeakedit-1.48.03/src/translate.cpp:1748:4: [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(translator2_language,new_language); data/espeakedit-1.48.03/src/translate.cpp:1953: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(ph_buf,word_phonemes); data/espeakedit-1.48.03/src/translate.cpp:1976:6: [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(word_phonemes,ph_buf); data/espeakedit-1.48.03/src/translate.cpp:2004:4: [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_dictionary_name, dictionary_name); data/espeakedit-1.48.03/src/translate.cpp:2057: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(dictionary_name, old_dictionary_name); data/espeakedit-1.48.03/src/translate.cpp:2303:3: [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(dictionary_name, old_dictionary_name); data/espeakedit-1.48.03/src/transldlg.cpp:134:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(command,"aplay %s",fname); data/espeakedit-1.48.03/src/transldlg.cpp:135:5: [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. if(system(command) == -1) data/espeakedit-1.48.03/src/transldlg.cpp:137:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(command,"play %s",fname); data/espeakedit-1.48.03/src/transldlg.cpp:138:6: [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. if(system(command) == -1) data/espeakedit-1.48.03/src/transldlg.cpp:155:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(f_speech,path_speech.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/transldlg.cpp:334:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf,file.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/transldlg.cpp:365:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s/voices/!v",path_home); data/espeakedit-1.48.03/src/transldlg.cpp:369:4: [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(fname,voice_name2); data/espeakedit-1.48.03/src/transldlg.cpp:374:4: [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(vname,filename.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/transldlg.cpp:375:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s+%s",voice_name2,vname); data/espeakedit-1.48.03/src/transldlg.cpp:380:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s/voices",path_home); data/espeakedit-1.48.03/src/transldlg.cpp:386:3: [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(fname,filename.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/transldlg.cpp:395:3: [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(voice_name2,fname); data/espeakedit-1.48.03/src/transldlg.cpp:443:3: [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(fname_temp,tmpnam(NULL)); data/espeakedit-1.48.03/src/transldlg.cpp:502:4: [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(phon_out, phon_out2); data/espeakedit-1.48.03/src/voices.cpp:322:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname_buf,"%s/mbrola/%s",path_home,vname); data/espeakedit-1.48.03/src/voices.cpp:346:4: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(&linebuf[8],"%s %d",vlanguage,&priority); data/espeakedit-1.48.03/src/voices.cpp:353: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(&languages[langix+1],vlanguage); data/espeakedit-1.48.03/src/voices.cpp:360:4: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(&linebuf[6],"%s %d",vgender,&age); data/espeakedit-1.48.03/src/voices.cpp:383:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(&p[langix],fname); data/espeakedit-1.48.03/src/voices.cpp:390:3: [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[langix],vname); data/espeakedit-1.48.03/src/voices.cpp:521:6: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. n = sscanf(p,"%d %s %s",&flags,phon_string1,phon_string2); data/espeakedit-1.48.03/src/voices.cpp:621:3: [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(buf,vname); data/espeakedit-1.48.03/src/voices.cpp:630:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path_voices,"%s%cvoices%c",path_home,PATHSEP,PATHSEP); data/espeakedit-1.48.03/src/voices.cpp:631:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s%s",path_voices,voicename); // first, look in the main voices directory data/espeakedit-1.48.03/src/voices.cpp:642:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(name2, "%s ", voicename); data/espeakedit-1.48.03/src/voices.cpp:650:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%s%s%c%s", path_voices,voice_dir,PATHSEP,voicename); data/espeakedit-1.48.03/src/voices.cpp:655:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"%stest%c%s",path_voices,PATHSEP,voicename); data/espeakedit-1.48.03/src/voices.cpp:679:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(translator_name,language_type); data/espeakedit-1.48.03/src/voices.cpp:680:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(new_dictionary,language_type); data/espeakedit-1.48.03/src/voices.cpp:681:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(phonemes_name,language_type); data/espeakedit-1.48.03/src/voices.cpp:700:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf,"+%s",&vname[3]); // omit !v/ from the variant filename data/espeakedit-1.48.03/src/voices.cpp:701:3: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(voice_identifier,buf); data/espeakedit-1.48.03/src/voices.cpp:733:4: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(p,"%s %d",language_name,&priority); data/espeakedit-1.48.03/src/voices.cpp:743: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(&voice_languages[langix+1],language_name); data/espeakedit-1.48.03/src/voices.cpp:752: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(translator_name,language_type); data/espeakedit-1.48.03/src/voices.cpp:753: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_dictionary,language_type); data/espeakedit-1.48.03/src/voices.cpp:754: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(phonemes_name,language_type); data/espeakedit-1.48.03/src/voices.cpp:779:4: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(p,"%s %d",vgender,&age); data/espeakedit-1.48.03/src/voices.cpp:788:4: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(p,"%s",translator_name); data/espeakedit-1.48.03/src/voices.cpp:798:4: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(p,"%s",new_dictionary); data/espeakedit-1.48.03/src/voices.cpp:802:4: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(p,"%s",phonemes_name); data/espeakedit-1.48.03/src/voices.cpp:840:8: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. n = sscanf(p,"%s %s %s %s %s %s",names[0],names[1],names[2],names[3],names[4],names[5]); data/espeakedit-1.48.03/src/voices.cpp:915:9: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if(((sscanf(p,"%s %d %d",option_name,&value,&value2) >= 2) && ((ix = LookupMnem(options_tab, option_name)) >= 0)) || data/espeakedit-1.48.03/src/voices.cpp:995:4: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(p,"%s %s %d",name1,name2,&srate); data/espeakedit-1.48.03/src/voices.cpp:1023:5: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. sscanf(p, "%s %s", name1, name2); data/espeakedit-1.48.03/src/voices.cpp:1043:7: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. if(sscanf(p, "%s", name1) == 1) data/espeakedit-1.48.03/src/voices.cpp:1172:5: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(variant_name, "%s%s", variant_prefix, p); data/espeakedit-1.48.03/src/voices.cpp:1180:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(variant_name,"%sm%d",variant_prefix, variant_num); // male data/espeakedit-1.48.03/src/voices.cpp:1182:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(variant_name,"%sf%d",variant_prefix, variant_num-10); // female data/espeakedit-1.48.03/src/voices.cpp:1416:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, "%s/voices/%s", path_home, language); data/espeakedit-1.48.03/src/voices.cpp:1482:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(last_part,"%c%s",PATHSEP,name); data/espeakedit-1.48.03/src/voices.cpp:1573:6: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(voice_id,"%s+%s", vp->identifier, variant_name); data/espeakedit-1.48.03/src/voices.cpp:1662:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(voice_id,"%s+%s", vp->identifier, variant_name); data/espeakedit-1.48.03/src/voices.cpp:1704:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s.%s",path,&buf[20]); data/espeakedit-1.48.03/src/voices.cpp:1733:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s\\*",path); data/espeakedit-1.48.03/src/voices.cpp:1744:4: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%c%s",path,PATHSEP,FindFileData.cFileName); data/espeakedit-1.48.03/src/voices.cpp:1786:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%c%s",path,PATHSEP,ent->d_name); data/espeakedit-1.48.03/src/voices.cpp:1925:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path_voices,"%s%cvoices",path_home,PATHSEP); data/espeakedit-1.48.03/src/voices.cpp:1941:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(path_voices,"%s%cvoices",path_home,PATHSEP); data/espeakedit-1.48.03/src/vowelchart.cpp:296:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(buf,path.mb_str(wxConvLocal)); data/espeakedit-1.48.03/src/vowelchart.cpp:308:8: [4] (buffer) sscanf: The scanf() family's %s operation, without a limit specification, permits buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a different input function. ix = sscanf(buf,"%s %d %d %d %d %d %d",name,&colour,&f1,&f2,&f3,&g1,&g2); data/espeakedit-1.48.03/src/vowelchart.cpp:479: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(phonetic,p); data/espeakedit-1.48.03/src/vowelchart.cpp:574:2: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(save_voice_name,voice_name2); data/espeakedit-1.48.03/src/vowelchart.cpp:576:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s%s",path_source,"compile_prog_log"); data/espeakedit-1.48.03/src/vowelchart.cpp:592:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(dirname,"%s%s",path_source,"vowelcharts"); data/espeakedit-1.48.03/src/vowelchart.cpp:595:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s/vowel_log",dirname); data/espeakedit-1.48.03/src/vowelchart.cpp:599:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(fname,"%s/%s",dirname,phoneme_tab_list[table].name); data/espeakedit-1.48.03/src/vowelchart.cpp:698:2: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(name,"%s%s",path_source,"envelopes.txt"); data/espeakedit-1.48.03/src/compiledata.cpp:1875:21: [3] (tmpfile) tmpnam: Temporary file race condition (CWE-377). strcpy(fname_temp,tmpnam(NULL)); data/espeakedit-1.48.03/src/options.cpp:133:18: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if((path_base = getenv("ESPEAK_DATA_PATH")) != NULL) data/espeakedit-1.48.03/src/options.cpp:156:56: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); data/espeakedit-1.48.03/src/speak_lib.cpp:341:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if((env = getenv("ESPEAK_DATA_PATH")) != NULL) data/espeakedit-1.48.03/src/speak_lib.cpp:366:12: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. if((env = getenv("ESPEAK_DATA_PATH")) != NULL) data/espeakedit-1.48.03/src/speak_lib.cpp:373:56: [3] (buffer) getenv: Environment variables are untrustable input if they can be set by an attacker. They can have any content and length, and the same variable can be set more than once (CWE-807, CWE-20). Check environment variables carefully before using them. snprintf(path_home,sizeof(path_home),"%s/espeak-data",getenv("HOME")); data/espeakedit-1.48.03/src/transldlg.cpp:443:21: [3] (tmpfile) tmpnam: Temporary file race condition (CWE-377). strcpy(fname_temp,tmpnam(NULL)); data/espeakedit-1.48.03/praat-mod/Sound_JSD.cpp:71:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). fout = fopen("spectrum.dat","w"); data/espeakedit-1.48.03/src/compiledata.cpp:51: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 path_source[sizeof(path_home)+20]; data/espeakedit-1.48.03/src/compiledata.cpp:59: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. unsigned char ffreq2[6]; // nasal(*2) f4,5,6,7,8(*20) data/espeakedit-1.48.03/src/compiledata.cpp:60: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. unsigned char fheight[9]; // f0-8 data/espeakedit-1.48.03/src/compiledata.cpp:61: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. unsigned char fwidth[6]; // width/4 f0-5 data/espeakedit-1.48.03/src/compiledata.cpp:62: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. unsigned char fright[4]; // width/4 f0-3 data/espeakedit-1.48.03/src/compiledata.cpp:63: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. unsigned char bw[6]; // nasal, f1,2,3,4,5 (*2) data/espeakedit-1.48.03/src/compiledata.cpp:64: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. unsigned char klattp[5]; // amp, tilt, kopen, asp, data/espeakedit-1.48.03/src/compiledata.cpp:386: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 equivalence_buf[20000]; data/espeakedit-1.48.03/src/compiledata.cpp:392: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 proc_names[40][N_PROCS]; data/espeakedit-1.48.03/src/compiledata.cpp:425:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[120]; data/espeakedit-1.48.03/src/compiledata.cpp:429: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. static const char *instn_category_string[16] = { data/espeakedit-1.48.03/src/compiledata.cpp:435: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. static const char *nextPh_string[6] = { data/espeakedit-1.48.03/src/compiledata.cpp:658: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_fname[80]; data/espeakedit-1.48.03/src/compiledata.cpp:667:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char string[1]; data/espeakedit-1.48.03/src/compiledata.cpp:675: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 envelope_paths[N_ENVELOPES][80]; data/espeakedit-1.48.03/src/compiledata.cpp:676:10: [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. unsigned char envelope_dat[N_ENVELOPES][ENV_LEN]; data/espeakedit-1.48.03/src/compiledata.cpp:682:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[80]; data/espeakedit-1.48.03/src/compiledata.cpp:715: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 item_string[N_ITEM_STRING]; data/espeakedit-1.48.03/src/compiledata.cpp:810:20: [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). procedure_num = atoi(WordToString(prev_mnemonic)); data/espeakedit-1.48.03/src/compiledata.cpp:856:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char mnem1[6]; data/espeakedit-1.48.03/src/compiledata.cpp:885:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[sizeof(path_home)+45]; data/espeakedit-1.48.03/src/compiledata.cpp:887:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char time_string[20]; data/espeakedit-1.48.03/src/compiledata.cpp:959:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dictname[80]; data/espeakedit-1.48.03/src/compiledata.cpp:960:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_log[sizeof(path_dsource)+20]; data/espeakedit-1.48.03/src/compiledata.cpp:961:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char save_voice_name[80]; data/espeakedit-1.48.03/src/compiledata.cpp:962:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[sizeof(path_home)+40]; // path_dsource+20 data/espeakedit-1.48.03/src/compiledata.cpp:963:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/compiledata.cpp:964:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char voicename[80]; data/espeakedit-1.48.03/src/compiledata.cpp:993:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). log = fopen(fname_log,"w"); data/espeakedit-1.48.03/src/compiledata.cpp:999: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). f_phused = fopen(fname_log,"w"); data/espeakedit-1.48.03/src/compiledata.cpp:1025: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). if((f_in = fopen(path,"r")) == NULL) data/espeakedit-1.48.03/src/compiledata.cpp:1028:11: [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). f_in = fopen(path,"r"); data/espeakedit-1.48.03/src/compiledata.cpp:1119:10: [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). if((f = fopen(fname,access)) == NULL) data/espeakedit-1.48.03/src/compiledata.cpp:1425: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 msg[80]; data/espeakedit-1.48.03/src/compiledata.cpp:1430: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(msg, "Value %d is greater than maximum %d", value, max); data/espeakedit-1.48.03/src/compiledata.cpp:1852:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_temp[100]; data/espeakedit-1.48.03/src/compiledata.cpp:1853:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char msg[120]; data/espeakedit-1.48.03/src/compiledata.cpp:1864: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 command[sizeof(path_source)+200]; data/espeakedit-1.48.03/src/compiledata.cpp:1869:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(fname_temp,"/tmp/espeakXXXXXX"); data/espeakedit-1.48.03/src/compiledata.cpp:1870:17: [2] (tmpfile) mkstemp: Potential for temporary file vulnerability in some circumstances. Some older Unix-like systems create temp files with permission to write by all by default, so be sure to set the umask to override this. Also, some older Unix systems might fail to use O_EXCL when opening the file, so make sure that O_EXCL is used by the library (CWE-377). if((fd_temp = mkstemp(fname_temp)) >= 0) data/espeakedit-1.48.03/src/compiledata.cpp:1913: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). f = fopen(fname_temp,"rb"); data/espeakedit-1.48.03/src/compiledata.cpp:2013:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[128]; data/espeakedit-1.48.03/src/compiledata.cpp:2027:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(envelope_dat[n_envelopes],buf,sizeof(envelope_dat[0])); data/espeakedit-1.48.03/src/compiledata.cpp:2065:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line_buf[128]; data/espeakedit-1.48.03/src/compiledata.cpp:2069: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. unsigned char env[ENV_LEN]; data/espeakedit-1.48.03/src/compiledata.cpp:2117:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(envelope_dat[n_envelopes],env,ENV_LEN); data/espeakedit-1.48.03/src/compiledata.cpp:2138:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[sizeof(path_source)+120]; data/espeakedit-1.48.03/src/compiledata.cpp:2164:11: [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). if((f = fopen(buf,"rb")) == NULL) data/espeakedit-1.48.03/src/compiledata.cpp:2167:12: [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). if((f = fopen(buf,"rb")) == NULL) data/espeakedit-1.48.03/src/compiledata.cpp:2283:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[N_ITEM_STRING]; data/espeakedit-1.48.03/src/compiledata.cpp:2637:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/compiledata.cpp:2685:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(phoneme_out,ph,sizeof(PHONEME_TAB)); data/espeakedit-1.48.03/src/compiledata.cpp:2766:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char number_buf[12]; data/espeakedit-1.48.03/src/compiledata.cpp:2767:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ipa_buf[N_ITEM_STRING+1]; data/espeakedit-1.48.03/src/compiledata.cpp:2796:3: [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(number_buf,"%.3dP", n_procs); data/espeakedit-1.48.03/src/compiledata.cpp:2924:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(number_buf,p,4); // U+ should be followed by 4 hex digits data/espeakedit-1.48.03/src/compiledata.cpp:3314:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(phoneme_tab2,phoneme_tab_list2[ix].phoneme_tab_ptr,sizeof(PHONEME_TAB)*N_PHONEME_TAB); data/espeakedit-1.48.03/src/compiledata.cpp:3350:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char foreign_table_name[40]; data/espeakedit-1.48.03/src/compiledata.cpp:3351:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char line_buf[80]; data/espeakedit-1.48.03/src/compiledata.cpp:3352:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char names[6][80]; data/espeakedit-1.48.03/src/compiledata.cpp:3353:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phcode[7]; data/espeakedit-1.48.03/src/compiledata.cpp:3354:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char save_voice_name[80]; data/espeakedit-1.48.03/src/compiledata.cpp:3428:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p_equivalence, phcode, n_names); data/espeakedit-1.48.03/src/compiledata.cpp:3455:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[sizeof(path_source)+120]; data/espeakedit-1.48.03/src/compiledata.cpp:3539:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[sizeof(path_source)+40]; data/espeakedit-1.48.03/src/compiledata.cpp:3749:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phoneme[40]; data/espeakedit-1.48.03/src/compiledata.cpp:3750:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phoneme2[40]; data/espeakedit-1.48.03/src/compiledata.cpp:3751:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name1[40]; data/espeakedit-1.48.03/src/compiledata.cpp:3752:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name2[40]; data/espeakedit-1.48.03/src/compiledata.cpp:3753:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char mbrola_voice[40]; data/espeakedit-1.48.03/src/compiledata.cpp:3754:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[sizeof(path_home)+30]; data/espeakedit-1.48.03/src/compiledata.cpp:3760: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). if((f_in = fopen(buf,"r")) == NULL) data/espeakedit-1.48.03/src/compiledata.cpp:3775:18: [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). mbrola_ctrl = atoi(&buf[6]); data/espeakedit-1.48.03/src/compiledata.cpp:3807: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). if((f_out = fopen(buf,"wb")) == NULL) data/espeakedit-1.48.03/src/compiledata.cpp:3892:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[12]; data/espeakedit-1.48.03/src/compiledata.cpp:3893:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_errors[sizeof(path_source)+120]; data/espeakedit-1.48.03/src/compiledata.cpp:3894:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tune_names[N_TUNE_NAMES][12]; data/espeakedit-1.48.03/src/compiledata.cpp:3895:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[sizeof(path_source)+120]; data/espeakedit-1.48.03/src/compiledata.cpp:3900: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). if((f_errors = fopen(fname_errors,"w")) == NULL) data/espeakedit-1.48.03/src/compiledata.cpp:3904: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). if((f_in = fopen(buf, "r")) == NULL) data/espeakedit-1.48.03/src/compiledata.cpp:3994:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&new_tune, &default_tune, sizeof(TUNE)); data/espeakedit-1.48.03/src/compiledata.cpp:4036:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&tune_data[tune_number], &new_tune, sizeof(TUNE)); data/espeakedit-1.48.03/src/compiledict.cpp:40: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. extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes data/espeakedit-1.48.03/src/compiledict.cpp:49: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 *hash_chains[N_HASH_DICT]; data/espeakedit-1.48.03/src/compiledict.cpp:50: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 letterGroupsDefined[N_LETTER_GROUPS]; data/espeakedit-1.48.03/src/compiledict.cpp:152:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[LEN_GROUP_NAME+1]; data/espeakedit-1.48.03/src/compiledict.cpp:176:10: [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). if((f = fopen(fname,access)) == NULL) data/espeakedit-1.48.03/src/compiledict.cpp:251:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/compiledict.cpp:252:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf_pre[200]; data/espeakedit-1.48.03/src/compiledict.cpp:253:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char suffix[20]; data/espeakedit-1.48.03/src/compiledict.cpp:254: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. static char output[80]; data/espeakedit-1.48.03/src/compiledict.cpp:295:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(buf," ("); data/espeakedit-1.48.03/src/compiledict.cpp:333:4: [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(suffix,"%c%d",suffix_char,rule[2] & 0x7f); data/espeakedit-1.48.03/src/compiledict.cpp:338:6: [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(&suffix[strlen(suffix)],"%c",flag_chars[ix]); data/espeakedit-1.48.03/src/compiledict.cpp:378:3: [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,"%5d:\t",linenum); data/espeakedit-1.48.03/src/compiledict.cpp:383:3: [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,"?%d ",condition_num); data/espeakedit-1.48.03/src/compiledict.cpp:434: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. unsigned char flag_codes[100]; data/espeakedit-1.48.03/src/compiledict.cpp:435:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char encoded_ph[200]; data/espeakedit-1.48.03/src/compiledict.cpp:436:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char bad_phoneme_str[4]; data/espeakedit-1.48.03/src/compiledict.cpp:743:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&dict_line[2],word,len_word); data/espeakedit-1.48.03/src/compiledict.cpp:778:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&dict_line[length],multiple_string,ix); data/espeakedit-1.48.03/src/compiledict.cpp:802:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&p2,p,sizeof(char *)); data/espeakedit-1.48.03/src/compiledict.cpp:841:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&p,p,sizeof(char *)); data/espeakedit-1.48.03/src/compiledict.cpp:856:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/compiledict.cpp:857:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[sizeof(path_home)+45]; data/espeakedit-1.48.03/src/compiledict.cpp:858:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dict_line[128]; data/espeakedit-1.48.03/src/compiledict.cpp:864: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). if((f_in = fopen(fname,"r")) == NULL) data/espeakedit-1.48.03/src/compiledict.cpp:867: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). if((f_in = fopen(fname,"r")) == NULL) data/espeakedit-1.48.03/src/compiledict.cpp:895:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p,&hash_chains[hash],sizeof(char *)); data/espeakedit-1.48.03/src/compiledict.cpp:897:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p+sizeof(char *),dict_line,length); data/espeakedit-1.48.03/src/compiledict.cpp:908: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 rule_cond[80]; data/espeakedit-1.48.03/src/compiledict.cpp:909: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 rule_pre[80]; data/espeakedit-1.48.03/src/compiledict.cpp:910: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 rule_post[80]; data/espeakedit-1.48.03/src/compiledict.cpp:911: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 rule_match[80]; data/espeakedit-1.48.03/src/compiledict.cpp:912: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 rule_phonemes[80]; data/espeakedit-1.48.03/src/compiledict.cpp:913: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 group_name[LEN_GROUP_NAME+1]; data/espeakedit-1.48.03/src/compiledict.cpp:935: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. static char *outbuf[5] = {rule_cond, rule_pre, rule_match, rule_post, rule_phonemes}; data/espeakedit-1.48.03/src/compiledict.cpp:1004: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. static const char lettergp_letters[9] = {LETTERGP_A,LETTERGP_B,LETTERGP_C,0,0,LETTERGP_F,LETTERGP_G,LETTERGP_H,LETTERGP_Y}; data/espeakedit-1.48.03/src/compiledict.cpp:1217:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[80]; data/espeakedit-1.48.03/src/compiledict.cpp:1218:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char output[150]; data/espeakedit-1.48.03/src/compiledict.cpp:1220:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char bad_phoneme_str[4]; data/espeakedit-1.48.03/src/compiledict.cpp:1339:9: [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). ix = atoi(&rule_cond[1]) + 32; data/espeakedit-1.48.03/src/compiledict.cpp:1344:9: [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). ix = atoi(rule_cond); data/espeakedit-1.48.03/src/compiledict.cpp:1385:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(prule,output,len); data/espeakedit-1.48.03/src/compiledict.cpp:1427:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[80]; data/espeakedit-1.48.03/src/compiledict.cpp:1428:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char suffix[12]; data/espeakedit-1.48.03/src/compiledict.cpp:1463: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(suffix,"$%d[%x]",(p[ix+2]),p[ix+1] & 0x7f); data/espeakedit-1.48.03/src/compiledict.cpp:1482:4: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"?%d ",condition); data/espeakedit-1.48.03/src/compiledict.cpp:1492:4: [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,") "); data/espeakedit-1.48.03/src/compiledict.cpp:1600:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *items[N_LETTERGP_ITEMS]; data/espeakedit-1.48.03/src/compiledict.cpp:1601:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char item_length[N_LETTERGP_ITEMS]; data/espeakedit-1.48.03/src/compiledict.cpp:1611:10: [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). group = atoi(&p[0]); data/espeakedit-1.48.03/src/compiledict.cpp:1686:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf1[500]; data/espeakedit-1.48.03/src/compiledict.cpp:1687:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *rules[N_RULES]; data/espeakedit-1.48.03/src/compiledict.cpp:1853:15: [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). if((f_temp = fopen(fname_temp,"rb"))==NULL) data/espeakedit-1.48.03/src/compiledict.cpp:1913:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_in[sizeof(path_home)+45]; data/espeakedit-1.48.03/src/compiledict.cpp:1914:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_out[sizeof(path_home)+15]; data/espeakedit-1.48.03/src/compiledict.cpp:1915:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_temp[sizeof(path_home)+15]; data/espeakedit-1.48.03/src/compiledict.cpp:1916:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[sizeof(path_home)+40]; // path_dsource+20 data/espeakedit-1.48.03/src/compiledict.cpp:1935: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). if((f_in = fopen(fname_in,"r")) == NULL) data/espeakedit-1.48.03/src/debug.cpp:15:15: [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). if((fd_log = fopen(FILENAME,"a")) != NULL) data/espeakedit-1.48.03/src/dictionary.cpp:38: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 dictionary_name[40]; data/espeakedit-1.48.03/src/dictionary.cpp:50: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. static unsigned char remove_accent[N_REMOVE_ACCENT] = { data/espeakedit-1.48.03/src/dictionary.cpp:247:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[sizeof(path_home)+20]; data/espeakedit-1.48.03/src/dictionary.cpp:264:6: [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). f = fopen(fname,"rb"); data/espeakedit-1.48.03/src/dictionary.cpp:483:2: [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(outptr,"* "); data/espeakedit-1.48.03/src/dictionary.cpp:656:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phon_buf[30]; data/espeakedit-1.48.03/src/dictionary.cpp:657:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phon_buf2[30]; data/espeakedit-1.48.03/src/dictionary.cpp:882:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_buf[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/dictionary.cpp:1129: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. unsigned char phonetic[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/dictionary.cpp:1130: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. signed char vowel_stress[N_WORD_PHONEMES/2]; data/espeakedit-1.48.03/src/dictionary.cpp:1215: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. signed char vowel_stress[N_WORD_PHONEMES/2]; data/espeakedit-1.48.03/src/dictionary.cpp:1216:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char syllable_weight[N_WORD_PHONEMES/2]; data/espeakedit-1.48.03/src/dictionary.cpp:1217:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char vowel_length[N_WORD_PHONEMES/2]; data/espeakedit-1.48.03/src/dictionary.cpp:1218: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. unsigned char phonetic[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/dictionary.cpp:1220: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. static char consonant_types[16] = {0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0}; data/espeakedit-1.48.03/src/dictionary.cpp:1449: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. static char guess_ru[16] = {0,0,1,1,2,3,3,4,5,6,7,7,8,9,10,11}; data/espeakedit-1.48.03/src/dictionary.cpp:1450: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. static char guess_ru_v[16] = {0,0,1,1,2,2,3,3,4,5,6,7,7,8,9,10}; // for final phoneme is a vowel data/espeakedit-1.48.03/src/dictionary.cpp:1451: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. static char guess_ru_t[16] = {0,0,1,2,3,3,3,4,5,6,7,7,7,8,9,10}; // for final phoneme is an unvoiced stop data/espeakedit-1.48.03/src/dictionary.cpp:1937:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word_buf[N_WORD_BYTES]; data/espeakedit-1.48.03/src/dictionary.cpp:2189:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word_buf, word_start-1, ix); data/espeakedit-1.48.03/src/dictionary.cpp:2418:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word_buf, word_start-1, ix); data/espeakedit-1.48.03/src/dictionary.cpp:2544:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&best,&match,sizeof(match)); data/espeakedit-1.48.03/src/dictionary.cpp:2552:6: [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 decoded_phonemes[80]; data/espeakedit-1.48.03/src/dictionary.cpp:2582:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(match_out,&best,sizeof(MatchRecord)); data/espeakedit-1.48.03/src/dictionary.cpp:2611:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_buf[40]; data/espeakedit-1.48.03/src/dictionary.cpp:2612:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word_copy[N_WORD_BYTES]; data/espeakedit-1.48.03/src/dictionary.cpp:2613: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. static const char str_pause[2] = {phonPAUSE_NOLINK,0}; data/espeakedit-1.48.03/src/dictionary.cpp:2633: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 wordbuf[120]; data/espeakedit-1.48.03/src/dictionary.cpp:2664:4: [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 string[8]; data/espeakedit-1.48.03/src/dictionary.cpp:2665:4: [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 buf[40]; data/espeakedit-1.48.03/src/dictionary.cpp:2667:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&string[1],p,wc_bytes); data/espeakedit-1.48.03/src/dictionary.cpp:2717:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&match1,&match2,sizeof(MatchRecord)); data/espeakedit-1.48.03/src/dictionary.cpp:2752:8: [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(phonemes,"%czh",phonSWITCH); data/espeakedit-1.48.03/src/dictionary.cpp:2886:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p_start,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/dictionary.cpp:2896:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p_start,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/dictionary.cpp:2967:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[N_WORD_BYTES+1]; data/espeakedit-1.48.03/src/dictionary.cpp:3050:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(text, buf, ix); data/espeakedit-1.48.03/src/dictionary.cpp:3094:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word_buf[N_WORD_BYTES+1]; data/espeakedit-1.48.03/src/dictionary.cpp:3095:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dict_flags_buf[80]; data/espeakedit-1.48.03/src/dictionary.cpp:3378:4: [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 ph_decoded[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/dictionary.cpp:3395:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word_buf,word2,word_end-word2); data/espeakedit-1.48.03/src/dictionary.cpp:3436:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word[N_WORD_BYTES]; data/espeakedit-1.48.03/src/dictionary.cpp:3437: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. static char word_replacement[N_WORD_BYTES]; data/espeakedit-1.48.03/src/dictionary.cpp:3446:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&word[length],word2,nbytes); data/espeakedit-1.48.03/src/dictionary.cpp:3459:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&word[length],word2,nbytes); data/espeakedit-1.48.03/src/dictionary.cpp:3561:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word,word1,len); // include multiple matching words data/espeakedit-1.48.03/src/dictionary.cpp:3583: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. extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes data/espeakedit-1.48.03/src/dictionary.cpp:3591:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char text[80]; data/espeakedit-1.48.03/src/dictionary.cpp:3613:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[100]; data/espeakedit-1.48.03/src/dictionary.cpp:3642:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ending[50]; data/espeakedit-1.48.03/src/dictionary.cpp:3664:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word_copy,word,i); data/espeakedit-1.48.03/src/espeak_command.cpp:55:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(a_text, text, size); data/espeakedit-1.48.03/src/espeak_command.cpp:154:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(a_text, text, size); data/espeakedit-1.48.03/src/espeak_command.cpp:318:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(a_list, punctlist, len); data/espeakedit-1.48.03/src/espeak_command.cpp:389:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(data, voice, sizeof(espeak_VOICE)); data/espeakedit-1.48.03/src/espeakedit.cpp:122: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 param[120]; data/espeakedit-1.48.03/src/espeakedit.cpp:334:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(dictionary_name,"en"); data/espeakedit-1.48.03/src/espeakedit.cpp:360:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[100]; data/espeakedit-1.48.03/src/espeakedit.cpp:549:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[300]; data/espeakedit-1.48.03/src/espeakedit.cpp:588:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(buf,"/docs/docindex.html"); data/espeakedit-1.48.03/src/espeakedit.cpp:592:4: [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(buf,"http://espeak.sourceforge.net/docindex.html"); data/espeakedit-1.48.03/src/espeakedit.cpp:727:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f = fopen(fname,"r"); data/espeakedit-1.48.03/src/espeakedit.cpp:745:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_log[sizeof(path_dsource)+12]; data/espeakedit-1.48.03/src/espeakedit.cpp:746:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char err_fname[sizeof(path_home)+15]; data/espeakedit-1.48.03/src/espeakedit.cpp:797:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). log = fopen(fname_log,"w"); data/espeakedit-1.48.03/src/event.cpp:165:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(a_event, event, sizeof(espeak_EVENT)); data/espeakedit-1.48.03/src/event.cpp:205:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&events[0],event,sizeof(espeak_EVENT)); // the event parameter in the callback function should be an array of eventd data/espeakedit-1.48.03/src/event.cpp:206:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&events[1],event,sizeof(espeak_EVENT)); data/espeakedit-1.48.03/src/extras.cpp:38: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. extern char word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes data/espeakedit-1.48.03/src/extras.cpp:53: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. static unsigned char wave_hdr[44] = { data/espeakedit-1.48.03/src/extras.cpp:67:6: [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). f = fopen(path,"wb"); data/espeakedit-1.48.03/src/extras.cpp:125: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). f_events = fopen("/home/jsd1/speechdata/text/events","a"); data/espeakedit-1.48.03/src/extras.cpp:322:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/extras.cpp:323:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word[80]; data/espeakedit-1.48.03/src/extras.cpp:324:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word1[80]; data/espeakedit-1.48.03/src/extras.cpp:325:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word2[80]; data/espeakedit-1.48.03/src/extras.cpp:326:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word_stem[80]; data/espeakedit-1.48.03/src/extras.cpp:327:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char temp[80]; data/espeakedit-1.48.03/src/extras.cpp:328:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes[80]; data/espeakedit-1.48.03/src/extras.cpp:329:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes2[80]; data/espeakedit-1.48.03/src/extras.cpp:330:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes3[80]; data/espeakedit-1.48.03/src/extras.cpp:331:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf_out[200]; data/espeakedit-1.48.03/src/extras.cpp:332:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf_error[200]; data/espeakedit-1.48.03/src/extras.cpp:333:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char last_listx[200]; data/espeakedit-1.48.03/src/extras.cpp:358: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). if((f_in = fopen(buf,"r")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:367: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). if((f_out = fopen(buf,"w")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:382: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). f_listx = fopen(buf,"w"); data/espeakedit-1.48.03/src/extras.cpp:389: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). f_listx = fopen(buf,"w"); data/espeakedit-1.48.03/src/extras.cpp:391:19: [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). if((f_list_in = fopen(buf,"r")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:449:3: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(word2," "); data/espeakedit-1.48.03/src/extras.cpp:689:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/extras.cpp:690:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word[80]; data/espeakedit-1.48.03/src/extras.cpp:691:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word2[80]; data/espeakedit-1.48.03/src/extras.cpp:692:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char type[80]; data/espeakedit-1.48.03/src/extras.cpp:693:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pronounce[80]; data/espeakedit-1.48.03/src/extras.cpp:694:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char pronounce2[80]; data/espeakedit-1.48.03/src/extras.cpp:695:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes[80]; data/espeakedit-1.48.03/src/extras.cpp:696:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes2[80]; data/espeakedit-1.48.03/src/extras.cpp:703: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). if((f_in = fopen(buf,"r")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:710: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). if((f_out = fopen("compare_de","w")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:737:3: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(&word2[1]," "); data/espeakedit-1.48.03/src/extras.cpp:856:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/extras.cpp:865: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). if((f_in = fopen(buf,"r")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:871:2: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(buf,"_1"); data/espeakedit-1.48.03/src/extras.cpp:872: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). if((f_out = fopen(buf,"w")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:938:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word[80]; data/espeakedit-1.48.03/src/extras.cpp:939:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word_in[80]; data/espeakedit-1.48.03/src/extras.cpp:940:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/extras.cpp:941:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/extras.cpp:942:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[sizeof(path_dsource)+20]; data/espeakedit-1.48.03/src/extras.cpp:956: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). if((f_in = fopen(buf,"r")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:967: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). if((f_out = fopen(fname,"w")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:1116:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"Lexicon: Input %d, Output %d, $text %d",n_words,n_out,n_wrong); data/espeakedit-1.48.03/src/extras.cpp:1155:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word[80]; data/espeakedit-1.48.03/src/extras.cpp:1156:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word2[80]; data/espeakedit-1.48.03/src/extras.cpp:1159:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/extras.cpp:1160:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/extras.cpp:1161:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[sizeof(path_dsource)+20]; data/espeakedit-1.48.03/src/extras.cpp:1210:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(buf,"lexicon.dict"); data/espeakedit-1.48.03/src/extras.cpp:1213: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). if((f_in = fopen(buf,"r")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:1229: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). if((f_out = fopen(fname,"w")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:1237:10: [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). f_log = fopen(fname,"w"); data/espeakedit-1.48.03/src/extras.cpp:1406:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"Lexicon: Total %d OK %d fixed %d errors %d (see ru_log)",n_words,n_words-n_wrong,n_wrong,n_errors); data/espeakedit-1.48.03/src/extras.cpp:1537:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[80]; data/espeakedit-1.48.03/src/extras.cpp:1538:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char wbuf[80]; data/espeakedit-1.48.03/src/extras.cpp:1540: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). if((f_in = fopen(path.mb_str(wxConvLocal),"rb")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:1600:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/extras.cpp:1601:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf2[200]; data/espeakedit-1.48.03/src/extras.cpp:1638: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). if((f_out = fopen(buf2,"w")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:1662:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/extras.cpp:1669:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f_in = fopen(buf,"r"); data/espeakedit-1.48.03/src/extras.cpp:1676:2: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(buf,"_1"); data/espeakedit-1.48.03/src/extras.cpp:1677:10: [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). f_out = fopen(buf,"w"); data/espeakedit-1.48.03/src/extras.cpp:1719:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/extras.cpp:1720:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char key[200]; data/espeakedit-1.48.03/src/extras.cpp:1721:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_in[200]; data/espeakedit-1.48.03/src/extras.cpp:1722:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_out[200]; data/espeakedit-1.48.03/src/extras.cpp:1723:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *sort_list[N_SORT_LIST]; data/espeakedit-1.48.03/src/extras.cpp:1729: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). if((f_in = fopen(fname_in,"r")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:1732: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). if((f_in = fopen(fname_in,"r")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:1740: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). if((f_out = fopen(fname_out,"w")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:1874:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/extras.cpp:1876:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char conditional[80]; data/espeakedit-1.48.03/src/extras.cpp:1877:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_in[200]; data/espeakedit-1.48.03/src/extras.cpp:1878:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_out[200]; data/espeakedit-1.48.03/src/extras.cpp:1886: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). if((f_in = fopen(fname_in,"r")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:1889: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). if((f_in = fopen(fname_in,"r")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:1897: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). if((f_out = fopen(fname_out,"w")) == NULL) data/espeakedit-1.48.03/src/extras.cpp:2137: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. unsigned char speed_lookup[290]; data/espeakedit-1.48.03/src/extras.cpp:2155:6: [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). f = fopen("speed_lookup","w"); data/espeakedit-1.48.03/src/extras.cpp:2175: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. unsigned char inbuf[4]; data/espeakedit-1.48.03/src/extras.cpp:2177: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. unsigned char outbuf[12]; data/espeakedit-1.48.03/src/extras.cpp:2186:6: [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). f = fopen("/home/jsd1/tmp1/unicode1","a"); data/espeakedit-1.48.03/src/extras.cpp:2249:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[120]; data/espeakedit-1.48.03/src/extras.cpp:2254:6: [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). f = fopen("/home/jsd1/tmp1/list","r"); data/espeakedit-1.48.03/src/extras.cpp:2256:10: [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). f_out = fopen("/home/jsd1/tmp1/list_out","w"); data/espeakedit-1.48.03/src/extras.cpp:2285:6: [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). f = fopen("/home/jsd1/walpha_tab.txt","w"); data/espeakedit-1.48.03/src/extras.cpp:2361:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char textbuf[2000]; data/espeakedit-1.48.03/src/extras.cpp:2376:6: [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). f = fopen("/home/jsd1/speechdata/text/test.txt","r"); data/espeakedit-1.48.03/src/extras.cpp:2391: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). f_events = fopen("/home/jsd1/speechdata/text/events","w"); data/espeakedit-1.48.03/src/intonation.cpp:71:10: [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. unsigned char env_fall[128] = { data/espeakedit-1.48.03/src/intonation.cpp:82:10: [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. unsigned char env_rise[128] = { data/espeakedit-1.48.03/src/intonation.cpp:92:10: [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. unsigned char env_frise[128] = { data/espeakedit-1.48.03/src/intonation.cpp:102: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. static unsigned char env_r_frise[128] = { data/espeakedit-1.48.03/src/intonation.cpp:112: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. static unsigned char env_frise2[128] = { data/espeakedit-1.48.03/src/intonation.cpp:122: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. static unsigned char env_r_frise2[128] = { data/espeakedit-1.48.03/src/intonation.cpp:132: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. static unsigned char env_risefall[128] = { data/espeakedit-1.48.03/src/intonation.cpp:142: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. static unsigned char env_rise2[128] = { data/espeakedit-1.48.03/src/intonation.cpp:152: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. static unsigned char env_fall2[128] = { data/espeakedit-1.48.03/src/intonation.cpp:162: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. static unsigned char env_fallrise3[128] = { data/espeakedit-1.48.03/src/intonation.cpp:172: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. static unsigned char env_fallrise4[128] = { data/espeakedit-1.48.03/src/intonation.cpp:182: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. static unsigned char env_risefallrise[128] = { data/espeakedit-1.48.03/src/intonation.cpp:195:10: [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. unsigned char *envelope_data[N_ENVELOPE_DATA] = { data/espeakedit-1.48.03/src/intonation.cpp:297:10: [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. unsigned char punctuation_to_tone[INTONATION_TYPES][PUNCT_INTONATIONS] = { data/espeakedit-1.48.03/src/intonation.cpp:629: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. static signed char continue_tab[5] = {-26, 32, 20, 8, 0}; data/espeakedit-1.48.03/src/klatt.cpp:313:4: [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). f=fopen("log-klatt","a"); data/espeakedit-1.48.03/src/klatt.cpp:1241:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f_log=fopen("log-espeakedit","a"); data/espeakedit-1.48.03/src/klatt.cpp:1249:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f_log=fopen("log-klatt","a"); data/espeakedit-1.48.03/src/main.h:22: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. extern char voice_name2[40]; data/espeakedit-1.48.03/src/main.h:110:8: [2] (buffer) wchar_t: 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. extern wchar_t ipa1[256]; data/espeakedit-1.48.03/src/mbrowrap.cpp:55: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 mbr_errorbuf[160]; data/espeakedit-1.48.03/src/mbrowrap.cpp:61:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[1]; /* 1 or more, dynamically allocated */ data/espeakedit-1.48.03/src/mbrowrap.cpp:127:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char charbuf[20]; data/espeakedit-1.48.03/src/mbrowrap.cpp:179: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). mbr_proc_stat = open(charbuf, O_RDONLY); data/espeakedit-1.48.03/src/mbrowrap.cpp:246:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char msgbuf[80]; data/espeakedit-1.48.03/src/mbrowrap.cpp:284:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[256]; data/espeakedit-1.48.03/src/mbrowrap.cpp:356:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(data->buffer, cmd + result, len - result); data/espeakedit-1.48.03/src/mbrowrap.cpp:372:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buffer[20]; /* looking for "12345 (mbrola) S" so 20 is plenty*/ data/espeakedit-1.48.03/src/mbrowrap.cpp:485: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. unsigned char wavhdr[45]; data/espeakedit-1.48.03/src/mbrowrap.cpp:538:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dummybuf[4096]; data/espeakedit-1.48.03/src/menus.cpp:32:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[100]; data/espeakedit-1.48.03/src/numbers.cpp:396:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char single_letter[10]; data/espeakedit-1.48.03/src/numbers.cpp:424:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_letter1[30]; data/espeakedit-1.48.03/src/numbers.cpp:425:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_letter2[30]; data/espeakedit-1.48.03/src/numbers.cpp:426:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_accent1[30]; data/espeakedit-1.48.03/src/numbers.cpp:427:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_accent2[30]; data/espeakedit-1.48.03/src/numbers.cpp:505: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. static char single_letter[10] = {0,0}; data/espeakedit-1.48.03/src/numbers.cpp:507:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_buf3[40]; data/espeakedit-1.48.03/src/numbers.cpp:531:4: [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(ph_buf1,"%c",phonSWITCH); data/espeakedit-1.48.03/src/numbers.cpp:540:3: [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(&single_letter[1],"_#%d ",letter); data/espeakedit-1.48.03/src/numbers.cpp:721:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char capital[30]; data/espeakedit-1.48.03/src/numbers.cpp:722:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_buf[80]; data/espeakedit-1.48.03/src/numbers.cpp:723:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_buf2[80]; data/espeakedit-1.48.03/src/numbers.cpp:724:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_alphabet[80]; data/espeakedit-1.48.03/src/numbers.cpp:725:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char hexbuf[12]; data/espeakedit-1.48.03/src/numbers.cpp:859:4: [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 hangul_buf[12]; data/espeakedit-1.48.03/src/numbers.cpp:960:6: [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(hexbuf,"%x",letter); data/espeakedit-1.48.03/src/numbers.cpp:1003: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. unsigned char buf[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/numbers.cpp:1061: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 ph_ordinal2[12]; data/espeakedit-1.48.03/src/numbers.cpp:1062: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 ph_ordinal2x[12]; data/espeakedit-1.48.03/src/numbers.cpp:1154:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_roman[30]; data/espeakedit-1.48.03/src/numbers.cpp:1155:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char number_chars[N_WORD_BYTES]; data/espeakedit-1.48.03/src/numbers.cpp:1324:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char string[12]; data/espeakedit-1.48.03/src/numbers.cpp:1325:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_of[12]; data/espeakedit-1.48.03/src/numbers.cpp:1326:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_thousands[40]; data/espeakedit-1.48.03/src/numbers.cpp:1327:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_buf[40]; data/espeakedit-1.48.03/src/numbers.cpp:1339: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(string,"_%dM%do",value,thousandplex); data/espeakedit-1.48.03/src/numbers.cpp:1345: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(string,"_%dM%de",value,thousandplex); data/espeakedit-1.48.03/src/numbers.cpp:1351: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(string,"_%dM%dx",value,thousandplex); data/espeakedit-1.48.03/src/numbers.cpp:1357:4: [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(string,"_%dM%d",value,thousandplex); data/espeakedit-1.48.03/src/numbers.cpp:1399:6: [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(string,"_0M%d", thousandplex-1); data/espeakedit-1.48.03/src/numbers.cpp:1410:6: [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(string,"_%dM1",value); data/espeakedit-1.48.03/src/numbers.cpp:1448:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char string[12]; // for looking up entries in *_list data/espeakedit-1.48.03/src/numbers.cpp:1449:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_ordinal[20]; data/espeakedit-1.48.03/src/numbers.cpp:1450:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_tens[50]; data/espeakedit-1.48.03/src/numbers.cpp:1451:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_digits[50]; data/espeakedit-1.48.03/src/numbers.cpp:1452:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_and[12]; data/espeakedit-1.48.03/src/numbers.cpp:1483: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(string,"_%dfx",value); data/espeakedit-1.48.03/src/numbers.cpp:1486:6: [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(string,"_%df",value); data/espeakedit-1.48.03/src/numbers.cpp:1496:6: [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(string,"_%d%cx",value,ord_type); // LANG=hu, special word for 1. 2. when there are no higher digits data/espeakedit-1.48.03/src/numbers.cpp:1505:6: [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(string,"_%d%c",value,ord_type); data/espeakedit-1.48.03/src/numbers.cpp:1519:7: [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(string,"_%de",value); data/espeakedit-1.48.03/src/numbers.cpp:1527:7: [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(string, "_%do", value); // LANG=TA data/espeakedit-1.48.03/src/numbers.cpp:1529:7: [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(string, "_%da", value); data/espeakedit-1.48.03/src/numbers.cpp:1541:7: [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(string,"_%d",value); data/espeakedit-1.48.03/src/numbers.cpp:1566:6: [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(string,"_%dX%c", tens, ord_type); data/espeakedit-1.48.03/src/numbers.cpp:1581:7: [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(string, "_%dXf", tens); data/espeakedit-1.48.03/src/numbers.cpp:1583:7: [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(string,"_%dX", tens); data/espeakedit-1.48.03/src/numbers.cpp:1591:6: [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(string,"_%dX", tens & 0xfe); data/espeakedit-1.48.03/src/numbers.cpp:1612:8: [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(string,"_%df",units); data/espeakedit-1.48.03/src/numbers.cpp:1618:8: [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(string,"_%d%c",units,ord_type); data/espeakedit-1.48.03/src/numbers.cpp:1629: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(string,"_%de",units); data/espeakedit-1.48.03/src/numbers.cpp:1636:10: [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(string, "_%do", units); // LANG=TA, only for 100s, 1000s data/espeakedit-1.48.03/src/numbers.cpp:1638:10: [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(string, "_%da", units); data/espeakedit-1.48.03/src/numbers.cpp:1644:8: [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(string,"_%d",units); data/espeakedit-1.48.03/src/numbers.cpp:1742:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char string[12]; // for looking up entries in **_list data/espeakedit-1.48.03/src/numbers.cpp:1743:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf1[100]; data/espeakedit-1.48.03/src/numbers.cpp:1744:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf2[100]; data/espeakedit-1.48.03/src/numbers.cpp:1745:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_100[20]; data/espeakedit-1.48.03/src/numbers.cpp:1746:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_10T[20]; data/espeakedit-1.48.03/src/numbers.cpp:1747:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_digits[50]; data/espeakedit-1.48.03/src/numbers.cpp:1748:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_thousands[50]; data/espeakedit-1.48.03/src/numbers.cpp:1749:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_hundred_and[12]; data/espeakedit-1.48.03/src/numbers.cpp:1750:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_thousand_and[12]; data/espeakedit-1.48.03/src/numbers.cpp:1843: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(string, "_%dCo", hundreds); data/espeakedit-1.48.03/src/numbers.cpp:1869:7: [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(string,"_%dC0",hundreds); data/espeakedit-1.48.03/src/numbers.cpp:1875:7: [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(string,"_%dC",hundreds); data/espeakedit-1.48.03/src/numbers.cpp:2021:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char string[32]; // for looking up entries in **_list data/espeakedit-1.48.03/src/numbers.cpp:2022:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf1[100]; data/espeakedit-1.48.03/src/numbers.cpp:2023:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_append[50]; data/espeakedit-1.48.03/src/numbers.cpp:2024:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_buf[200]; data/espeakedit-1.48.03/src/numbers.cpp:2025:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_buf2[50]; data/espeakedit-1.48.03/src/numbers.cpp:2026:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_zeros[50]; data/espeakedit-1.48.03/src/numbers.cpp:2027:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char suffix[30]; // string[] must be long enough for sizeof(suffix)+2 data/espeakedit-1.48.03/src/numbers.cpp:2028:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf_digit_lookup[50]; data/espeakedit-1.48.03/src/numbers.cpp:2030: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. static const char str_pause[2] = {phonPAUSE_NOLINK,0}; data/espeakedit-1.48.03/src/numbers.cpp:2040: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). value = this_value = atoi(word); data/espeakedit-1.48.03/src/numbers.cpp:2226:4: [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(string,"_0M%d",thousandplex+1); data/espeakedit-1.48.03/src/numbers.cpp:2229: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(string,"_0M%d",thousandplex); data/espeakedit-1.48.03/src/numbers.cpp:2270: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(string, "_%dn", value); data/espeakedit-1.48.03/src/numbers.cpp:2329:21: [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). LookupNum3(tr, atoi(&word[n_digits]), buf1, 0,0,0); data/espeakedit-1.48.03/src/numbers.cpp:2338:20: [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). LookupNum3(tr, atoi(&word[n_digits]), ph_buf, 0,0,0); data/espeakedit-1.48.03/src/numbers.cpp:2342:6: [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(string,"_0Z%d",decimal_count); data/espeakedit-1.48.03/src/numbers.cpp:2359:21: [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). LookupNum3(tr, atoi(&word[n_digits]), buf1, 0,0,0); data/espeakedit-1.48.03/src/numbers.cpp:2369:6: [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(string,"_%cd", word[n_digits]); data/espeakedit-1.48.03/src/options.cpp:55: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 path_dsource[sizeof(path_home)+20]; data/espeakedit-1.48.03/src/options.cpp:56: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 voice_name2[40]; data/espeakedit-1.48.03/src/options.cpp:130:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/options.h:45: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. extern char path_source[sizeof(path_home)+20]; data/espeakedit-1.48.03/src/options.h:46: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. extern char path_dsource[sizeof(path_home)+20]; data/espeakedit-1.48.03/src/phoneme.h:93: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. extern const unsigned char pause_phonemes[8]; // 0, vshort, short, pause, long, glottalstop data/espeakedit-1.48.03/src/phoneme.h:126: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. extern unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited data/espeakedit-1.48.03/src/phoneme.h:129:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[N_PHONEME_TAB_NAME]; data/espeakedit-1.48.03/src/phonemelist.cpp:33: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. const unsigned char pause_phonemes[8] = {0, phonPAUSE_VSHORT, phonPAUSE_SHORT, phonPAUSE, phonPAUSE_LONG, phonGLOTTALSTOP, phonPAUSE_LONG, phonPAUSE_LONG}; data/espeakedit-1.48.03/src/phonemelist.cpp:98:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&plist_out[n_plist_out],plist2,sizeof(PHONEME_LIST2)); data/espeakedit-1.48.03/src/phonemelist.cpp:184:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&plist2[j-delete_count], &plist2[j], sizeof(plist2[0])); data/espeakedit-1.48.03/src/phonemelist.cpp:371:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&ph_list3[k-1], &ph_list3[k], sizeof(*plist3)); data/espeakedit-1.48.03/src/prosodydisplay.cpp:90: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 buf[sizeof(path_home)+40]; data/espeakedit-1.48.03/src/prosodydisplay.cpp:91: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[120]; data/espeakedit-1.48.03/src/prosodydisplay.cpp:94: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). if((f = fopen(buf, "r")) == NULL) data/espeakedit-1.48.03/src/prosodydisplay.cpp:225:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[120]; data/espeakedit-1.48.03/src/prosodydisplay.cpp:226:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char len_string[20]; data/espeakedit-1.48.03/src/prosodydisplay.cpp:227:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char param_string[20]; data/espeakedit-1.48.03/src/prosodydisplay.cpp:251: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(len_string," Length %d", p->std_length*2); data/espeakedit-1.48.03/src/prosodydisplay.cpp:253:3: [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(param_string,", %d", p->sound_param); data/espeakedit-1.48.03/src/readclause.cpp:180:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char voice_name[40]; data/espeakedit-1.48.03/src/readclause.cpp:181:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char language[20]; data/espeakedit-1.48.03/src/readclause.cpp:189: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 base_voice_variant_name[40] = {0}; data/espeakedit-1.48.03/src/readclause.cpp:190: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_voice_id[40] = {0}; data/espeakedit-1.48.03/src/readclause.cpp:224: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. static unsigned char walpha_tab[MAX_WALPHA-0x7f] = { data/espeakedit-1.48.03/src/readclause.cpp:416:4: [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 buf[80]; data/espeakedit-1.48.03/src/readclause.cpp:618: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. static const unsigned char mask[4] = {0xff,0x1f,0x0f,0x07}; data/espeakedit-1.48.03/src/readclause.cpp:709: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. static char buf[5]; data/espeakedit-1.48.03/src/readclause.cpp:726:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes[55]; data/espeakedit-1.48.03/src/readclause.cpp:727:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes2[55]; data/espeakedit-1.48.03/src/readclause.cpp:749:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char single_letter[24]; data/espeakedit-1.48.03/src/readclause.cpp:750:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes[60]; data/espeakedit-1.48.03/src/readclause.cpp:751:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes2[60]; data/espeakedit-1.48.03/src/readclause.cpp:754: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. static char buf[60]; data/espeakedit-1.48.03/src/readclause.cpp:825:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(buf,"[\002(X1)(X1)(X1)]]"); data/espeakedit-1.48.03/src/readclause.cpp:853:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_temp[100]; data/espeakedit-1.48.03/src/readclause.cpp:854:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname2[sizeof(path_home)+13+40]; data/espeakedit-1.48.03/src/readclause.cpp:874:10: [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). if((f = fopen(fname,"rb")) != NULL) data/espeakedit-1.48.03/src/readclause.cpp:879: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 command[sizeof(fname2)+sizeof(fname2)+40]; data/espeakedit-1.48.03/src/readclause.cpp:891:4: [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(fname_temp,"/tmp/espeakXXXXXX"); data/espeakedit-1.48.03/src/readclause.cpp:892:18: [2] (tmpfile) mkstemp: Potential for temporary file vulnerability in some circumstances. Some older Unix-like systems create temp files with permission to write by all by default, so be sure to set the umask to override this. Also, some older Unix systems might fail to use O_EXCL when opening the file, so make sure that O_EXCL is used by the library (CWE-377). if((fd_temp = mkstemp(fname_temp)) >= 0) data/espeakedit-1.48.03/src/readclause.cpp:907:7: [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). f = fopen(fname,"rb"); data/espeakedit-1.48.03/src/readclause.cpp:917: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. if((p = (char *)realloc(soundicon_tab[index].data, length)) == NULL) data/espeakedit-1.48.03/src/readclause.cpp:976:34: [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. soundicon_tab[slot].filename = (char *)realloc(soundicon_tab[ix].filename, strlen(fname)+1); data/espeakedit-1.48.03/src/readclause.cpp:997:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/readclause.cpp:998:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf2[80]; data/espeakedit-1.48.03/src/readclause.cpp:999:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ph_buf[30]; data/espeakedit-1.48.03/src/readclause.cpp:1007:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"\001%dI ",soundicon); data/espeakedit-1.48.03/src/readclause.cpp:1051:6: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"\001+10S"); // Speak punctuation name faster, unless we are already speaking fast. It would upset Sonic SpeedUp data/espeakedit-1.48.03/src/readclause.cpp:1061:6: [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(buf2," \001-10S"); data/espeakedit-1.48.03/src/readclause.cpp:1188: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. static char voice_name[40]; data/espeakedit-1.48.03/src/readclause.cpp:1189:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char language[40]; data/espeakedit-1.48.03/src/readclause.cpp:1190:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[80]; data/espeakedit-1.48.03/src/readclause.cpp:1268:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[20]; data/espeakedit-1.48.03/src/readclause.cpp:1270: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. static char cmd_letter[N_SPEECH_PARAM] = {0, 'S','A','P','R', 0, 'C', 0, 0, 0, 0, 0, 'F'}; // embedded command letters data/espeakedit-1.48.03/src/readclause.cpp:1306:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"%c%d%c",CTRL_EMBEDDED,value,cmd_letter[param]); data/espeakedit-1.48.03/src/readclause.cpp:1366:9: [2] (buffer) wchar_t: 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 wchar_t empty[1] = {0}; data/espeakedit-1.48.03/src/readclause.cpp:1559:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&namedata[ix = namedata_ix],name,len); data/espeakedit-1.48.03/src/readclause.cpp:1787:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char tag_name[40]; data/espeakedit-1.48.03/src/readclause.cpp:1788:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[80]; data/espeakedit-1.48.03/src/readclause.cpp:1834: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. static const char *prosody_attr[5] = { data/espeakedit-1.48.03/src/readclause.cpp:1960:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"%c%dY",CTRL_EMBEDDED,value); data/espeakedit-1.48.03/src/readclause.cpp:2014:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"%c%dM",CTRL_EMBEDDED,index); data/espeakedit-1.48.03/src/readclause.cpp:2026:4: [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 fname[256]; data/espeakedit-1.48.03/src/readclause.cpp:2042:6: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"%c%dI",CTRL_EMBEDDED,index); data/espeakedit-1.48.03/src/readclause.cpp:2055:7: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"%c%dU",CTRL_EMBEDDED,index); data/espeakedit-1.48.03/src/readclause.cpp:2087: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(&outbuf[*outix],"%c%dB",CTRL_EMBEDDED,value); data/espeakedit-1.48.03/src/readclause.cpp:2262:2: [2] (buffer) wchar_t: 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. wchar_t xml_buf[N_XML_BUF+1]; data/espeakedit-1.48.03/src/readclause.cpp:2265:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char xml_buf2[N_XML_BUF2+2]; // for &<name> and &<number> sequences data/espeakedit-1.48.03/src/readclause.cpp:2266: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. static char ungot_string[N_XML_BUF2+4]; data/espeakedit-1.48.03/src/readclause.cpp:2509: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(&buf[ix]," "); data/espeakedit-1.48.03/src/readclause.cpp:2603: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_buf[40]; data/espeakedit-1.48.03/src/readclause.cpp:2604: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_buf2[30]; data/espeakedit-1.48.03/src/sonic.cpp:61: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 buffer[4096]; data/espeakedit-1.48.03/src/sonic.cpp:68:10: [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). file=fopen("/tmp/sonic.log", "a"); data/espeakedit-1.48.03/src/sonic.cpp:282:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(stream->inputBuffer + stream->numInputSamples*stream->numChannels, samples, data/espeakedit-1.48.03/src/sonic.cpp:334:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(stream->outputBuffer + stream->numOutputSamples*stream->numChannels, data/espeakedit-1.48.03/src/sonic.cpp:408:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(samples, stream->outputBuffer, numSamples*sizeof(short)*stream->numChannels); data/espeakedit-1.48.03/src/sonic.cpp:701:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(stream->pitchBuffer + stream->numPitchSamples*numChannels, data/espeakedit-1.48.03/src/sonic.cpp:815:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(out, samples, period*sizeof(short)*numChannels); data/espeakedit-1.48.03/src/speak_lib.cpp:74: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 path_home[N_PATH_HOME]; // this is the espeak-data directory data/espeakedit-1.48.03/src/speak_lib.cpp:333: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. unsigned char buf[sizeof(path_home)-13]; data/espeakedit-1.48.03/src/speak_lib.cpp:719:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[80]; data/espeakedit-1.48.03/src/speak_lib.cpp:723:2: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf,"<say-as interpret-as=\"tts:char\">&#%d;</say-as>",character); data/espeakedit-1.48.03/src/speak_lib.h:100: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 string[8]; // used for phoneme names (UTF8). Terminated by a zero byte unless the name needs the full 8 bytes. data/espeakedit-1.48.03/src/spect.cpp:136:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(spect,copy->spect,sizeof(USHORT)*nx); data/espeakedit-1.48.03/src/spect.cpp:215: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. static char peak_factor[8] = {4,5,11,20,20,25,32,32}; data/espeakedit-1.48.03/src/spect.cpp:443:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char voice_name1[40]; data/espeakedit-1.48.03/src/spect.h:73: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. unsigned char env[128]; data/espeakedit-1.48.03/src/spect.h:122: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. unsigned char data[1]; /* firstly harmonic data, then f3,f4,f5 data */ data/espeakedit-1.48.03/src/spectdisplay.cpp:180:9: [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). return(atoi(t->GetValue().mb_str(wxConvLocal))); data/espeakedit-1.48.03/src/spectdisplay.cpp:410:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[200]; data/espeakedit-1.48.03/src/spectdisplay.cpp:417:10: [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). f_env = fopen(fname,"w"); data/espeakedit-1.48.03/src/spectseq.cpp:98:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(zero,sp,sizeof(peak_t)*N_PEAKS); data/espeakedit-1.48.03/src/spectseq.cpp:111: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. unsigned char wav_outbuf[1024]; data/espeakedit-1.48.03/src/spectseq.cpp:909:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(peaks,sp->peaks,sizeof(*peaks)*N_PEAKS); data/espeakedit-1.48.03/src/speech.h:84: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. extern char path_home[N_PATH_HOME]; // this is the espeak-data directory data/espeakedit-1.48.03/src/synth_mbrola.cpp:122:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path[sizeof(path_home)+15]; data/espeakedit-1.48.03/src/synth_mbrola.cpp:171: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). if((f_in = fopen(path,"rb")) == NULL) { data/espeakedit-1.48.03/src/synth_mbrola.cpp:313:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[50]; data/espeakedit-1.48.03/src/synth_mbrola.cpp:314: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. static char output[50]; data/espeakedit-1.48.03/src/synth_mbrola.cpp:362:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf," 0 %d",p1/4096); data/espeakedit-1.48.03/src/synth_mbrola.cpp:388:5: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf," %d %d",y2,p2/4096); data/espeakedit-1.48.03/src/synth_mbrola.cpp:397:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf," %d %d",env100,p_end); data/espeakedit-1.48.03/src/synth_mbrola.cpp:402:3: [2] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. Risk is low because the source has a constant maximum length. sprintf(buf," %d %d",100,p_end); data/espeakedit-1.48.03/src/synth_mbrola.cpp:408:3: [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(output,"\t100 %d\n",p_end); data/espeakedit-1.48.03/src/synth_mbrola.cpp:434:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char mbr_buf[120]; data/espeakedit-1.48.03/src/synth_mbrola.cpp:492:4: [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 phoneme_name[16]; data/espeakedit-1.48.03/src/synth_mbrola.cpp:605:11: [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. ptr += sprintf(ptr,"_ \t%d\n",PauseLength(pause,0)); data/espeakedit-1.48.03/src/synthdata.cpp:49:10: [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. unsigned char phoneme_tab_flags[N_PHONEME_TAB]; // bit 0: not inherited data/espeakedit-1.48.03/src/synthdata.cpp:79:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[sizeof(path_home)+40]; data/espeakedit-1.48.03/src/synthdata.cpp:84: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). if((f_in = fopen(buf,"rb")) == NULL) data/espeakedit-1.48.03/src/synthdata.cpp:160:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(phoneme_tab_list[ix].name,p,N_PHONEME_TAB_NAME); data/espeakedit-1.48.03/src/synthdata.cpp:468:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[sizeof(path_home)+10]; data/espeakedit-1.48.03/src/synthdata.cpp:473:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char string[200]; data/espeakedit-1.48.03/src/synthdata.cpp:484:10: [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). if((f = fopen(buf,"r"))==NULL) data/espeakedit-1.48.03/src/synthdata.cpp:496:19: [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). f_logespeak = fopen(string,"w"); data/espeakedit-1.48.03/src/synthdata.cpp:912: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. static const char n_words[16] = {0,1,0,0,1,1,0,1,1,2,4,0,0,0,0,0}; data/espeakedit-1.48.03/src/synthdata.cpp:1248:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&worddata->prev_vowel, &plist[0], sizeof(PHONEME_LIST)); data/espeakedit-1.48.03/src/synthesize.cpp:46: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 mbrola_name[20]; data/espeakedit-1.48.03/src/synthesize.cpp:83: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. static char buf[5]; data/espeakedit-1.48.03/src/synthesize.cpp:543:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(frame2,frame1,sizeof(frame_t)); data/espeakedit-1.48.03/src/synthesize.cpp:1267:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(v2,v,sizeof(voice_t)); data/espeakedit-1.48.03/src/synthesize.cpp:1353:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phoneme_name[16]; data/espeakedit-1.48.03/src/synthesize.h:100: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. unsigned char fheight[8]; data/espeakedit-1.48.03/src/synthesize.h:101: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. unsigned char fwidth[6]; // width/4 f0-5 data/espeakedit-1.48.03/src/synthesize.h:102: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. unsigned char fright[3]; // width/4 f0-2 data/espeakedit-1.48.03/src/synthesize.h:103: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. unsigned char bw[4]; // Klatt bandwidth BNZ /2, f1,f2,f3 data/espeakedit-1.48.03/src/synthesize.h:104: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. unsigned char klattp[5]; // AV, FNZ, Tilt, Aspr, Skew data/espeakedit-1.48.03/src/synthesize.h:105: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. unsigned char klattp2[5]; // continuation of klattp[], Avp, Fric, FricBP, Turb data/espeakedit-1.48.03/src/synthesize.h:106: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. unsigned char klatt_ap[7]; // Klatt parallel amplitude data/espeakedit-1.48.03/src/synthesize.h:107: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. unsigned char klatt_bp[7]; // Klatt parallel bandwidth /2 data/espeakedit-1.48.03/src/synthesize.h:117: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. unsigned char fheight[8]; data/espeakedit-1.48.03/src/synthesize.h:118: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. unsigned char fwidth[6]; // width/4 f0-5 data/espeakedit-1.48.03/src/synthesize.h:119: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. unsigned char fright[3]; // width/4 f0-2 data/espeakedit-1.48.03/src/synthesize.h:120: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. unsigned char bw[4]; // Klatt bandwidth BNZ /2, f1,f2,f3 data/espeakedit-1.48.03/src/synthesize.h:121: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. unsigned char klattp[5]; // AV, FNZ, Tilt, Aspr, Skew data/espeakedit-1.48.03/src/synthesize.h:256:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ipa_string[18]; data/espeakedit-1.48.03/src/synthesize.h:394:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[12]; data/espeakedit-1.48.03/src/synthesize.h:395: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. unsigned char flags[4]; data/espeakedit-1.48.03/src/synthesize.h:396: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. signed char head_extend[8]; data/espeakedit-1.48.03/src/synthesize.h:413: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. signed char unstr_start[3]; // for: onset, head, last data/espeakedit-1.48.03/src/synthesize.h:414: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. signed char unstr_end[3]; data/espeakedit-1.48.03/src/synthesize.h:433: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. unsigned char spare[8]; data/espeakedit-1.48.03/src/synthesize.h:448: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. extern unsigned char env_fall[128]; data/espeakedit-1.48.03/src/synthesize.h:449: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. extern unsigned char env_rise[128]; data/espeakedit-1.48.03/src/synthesize.h:450: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. extern unsigned char env_frise[128]; data/espeakedit-1.48.03/src/synthesize.h:453: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. extern unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1]; data/espeakedit-1.48.03/src/synthesize.h:513: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. extern char mbrola_name[20]; data/espeakedit-1.48.03/src/synthesize.h:543: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. extern unsigned char *envelope_data[N_ENVELOPE_DATA]; data/espeakedit-1.48.03/src/tr_languages.cpp:210:15: [2] (buffer) wchar_t: 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 wchar_t empty_wstring[1] = {0}; data/espeakedit-1.48.03/src/tr_languages.cpp:211:15: [2] (buffer) wchar_t: 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 wchar_t punct_in_word[2] = {'\'', 0}; // allow hyphen within words data/espeakedit-1.48.03/src/tr_languages.cpp:212: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. static const unsigned char default_tunes[6] = {0, 1, 2, 3, 0, 0}; data/espeakedit-1.48.03/src/tr_languages.cpp:468: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. static const unsigned char stress_amps_equal[8] = {19,19, 19,19, 19,19, 19,19 }; data/espeakedit-1.48.03/src/tr_languages.cpp:471: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. static const unsigned char stress_amps_fr[8] = {18,16, 18,18, 18,18, 18,18 }; data/espeakedit-1.48.03/src/tr_languages.cpp:473: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. static const unsigned char stress_amps_sk[8] = {17,16, 20,20, 20,22, 22,21 }; data/espeakedit-1.48.03/src/tr_languages.cpp:478: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. static const unsigned char stress_amps_ta[8] = {18,18, 18,18, 20,20, 22,22 }; data/espeakedit-1.48.03/src/tr_languages.cpp:543: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. static const unsigned char stress_amps_bn[8] = {18,18, 18,18, 20,20, 22,22 }; data/espeakedit-1.48.03/src/tr_languages.cpp:576: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. static const unsigned char stress_amps_cy[8] = {17,15, 18,18, 0,0, 22,20 }; // 'diminished' is used to mark a quieter, final unstressed syllable data/espeakedit-1.48.03/src/tr_languages.cpp:663: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. static const unsigned char stress_amps_el[8] = {15,12, 20,20, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable data/espeakedit-1.48.03/src/tr_languages.cpp:707:17: [2] (buffer) wchar_t: 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 wchar_t eo_char_apostrophe[2] = {'l',0}; data/espeakedit-1.48.03/src/tr_languages.cpp:731: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. static const unsigned char stress_amps_es[8] = {16,12, 18,18, 20,20, 20,20 }; // 'diminished' is used to mark a quieter, final unstressed syllable data/espeakedit-1.48.03/src/tr_languages.cpp:779: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. static const unsigned char stress_amps_eu[8] = {16,16, 18,18, 18,18, 18,18 }; data/espeakedit-1.48.03/src/tr_languages.cpp:821: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. static const unsigned char stress_amps_fi[8] = {18,16, 22,22, 20,22, 22,22 }; data/espeakedit-1.48.03/src/tr_languages.cpp:872: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. static const unsigned char stress_amps_hi[8] = {17,14, 20,19, 20,22, 22,21 }; data/espeakedit-1.48.03/src/tr_languages.cpp:917: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. static const unsigned char stress_amps_hr[8] = {17,17, 20,20, 20,22, 22,21 }; data/espeakedit-1.48.03/src/tr_languages.cpp:921:4: [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(tr->dictionary_name, "hbs"); data/espeakedit-1.48.03/src/tr_languages.cpp:957: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. static const unsigned char stress_amps_hu[8] = {17,17, 19,19, 20,22, 22,21 }; data/espeakedit-1.48.03/src/tr_languages.cpp:1009: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. static const unsigned char stress_amps_id[8] = {16,18, 18,18, 20,22, 22,21 }; data/espeakedit-1.48.03/src/tr_languages.cpp:1043: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. static const unsigned char stress_amps_it[8] = {15,14, 19,19, 20,22, 22,20 }; data/espeakedit-1.48.03/src/tr_languages.cpp:1107: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. static const unsigned char stress_amps_tr[8] = {18,16, 20,21, 20,21, 21,20 }; data/espeakedit-1.48.03/src/tr_languages.cpp:1161: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. static const unsigned char stress_amps_ku[8] = {18,18, 20,20, 20,22, 22,21 }; data/espeakedit-1.48.03/src/tr_languages.cpp:1203: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. static const unsigned char stress_amps_lv[8] = {17,13, 20,20, 20,22, 22,21 }; data/espeakedit-1.48.03/src/tr_languages.cpp:1220: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. static const unsigned char stress_amps_mk[8] = {17,17, 20,20, 20,22, 22,21 }; data/espeakedit-1.48.03/src/tr_languages.cpp:1286: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. static const unsigned char stress_amps_pl[8] = {17,13, 19,19, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable data/espeakedit-1.48.03/src/tr_languages.cpp:1305: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. static const unsigned char stress_amps_pt[8] = {16,11, 19,21, 20,22, 22,21 }; // 'diminished' is used to mark a quieter, final unstressed syllable data/espeakedit-1.48.03/src/tr_languages.cpp:1326: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. static const unsigned char stress_amps_ro[8] = {15,13, 18,18, 20,22, 22,21 }; data/espeakedit-1.48.03/src/tr_languages.cpp:1430: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. static const unsigned char stress_amps_sq[8] = {16,12, 16,16, 20,20, 21,19 }; data/espeakedit-1.48.03/src/tr_languages.cpp:1551: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. static const unsigned char stress_amps_tr[8] = {18,16, 20,21, 20,21, 21,20 }; data/espeakedit-1.48.03/src/translate.cpp:42: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 translator2_language[20] = {0}; data/espeakedit-1.48.03/src/translate.cpp:65: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 skip_marker[N_MARKER_LENGTH]; data/espeakedit-1.48.03/src/translate.cpp:85: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 word_phonemes[N_WORD_PHONEMES*2]; // longer, because snprint() is not available data/espeakedit-1.48.03/src/translate.cpp:87: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 word_phonemes[N_WORD_PHONEMES]; // a word translated into phoneme codes data/espeakedit-1.48.03/src/translate.cpp:94:1: [2] (buffer) wchar_t: 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. wchar_t option_punctlist[N_PUNCTLIST]= {0}; data/espeakedit-1.48.03/src/translate.cpp:107: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[N_TR_SOURCE+40]; // extra space for embedded command & voice change info at end data/espeakedit-1.48.03/src/translate.cpp:309: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. static unsigned char length_mods_en[100] = { data/espeakedit-1.48.03/src/translate.cpp:324: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. static unsigned char length_mods_en0[100] = { data/espeakedit-1.48.03/src/translate.cpp:339: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. static unsigned char length_mods_equal[100] = { data/espeakedit-1.48.03/src/translate.cpp:354: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. static unsigned char *length_mod_tabs[6] = { data/espeakedit-1.48.03/src/translate.cpp:519: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. static char unsigned code[4] = {0,0xc0,0xe0,0xf0}; data/espeakedit-1.48.03/src/translate.cpp:571: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. static const unsigned char mask[4] = {0xff,0x1f,0x0f,0x07}; data/espeakedit-1.48.03/src/translate.cpp:673:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word_buf[80]; data/espeakedit-1.48.03/src/translate.cpp:719:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word1, word_buf, ix); data/espeakedit-1.48.03/src/translate.cpp:745:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonbuf[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/translate.cpp:838:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/translate.cpp:839:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes2[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/translate.cpp:840:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char prefix_phonemes[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/translate.cpp:841:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char unpron_phonemes[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/translate.cpp:842:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char end_phonemes[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/translate.cpp:843:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char end_phonemes2[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/translate.cpp:844:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word_copy[N_WORD_BYTES]; data/espeakedit-1.48.03/src/translate.cpp:845:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word_copy2[N_WORD_BYTES]; data/espeakedit-1.48.03/src/translate.cpp:847:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char prefix_chars[0x3f + 2]; data/espeakedit-1.48.03/src/translate.cpp:868: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. static char word_zz[4] = {0,'z','z',0}; data/espeakedit-1.48.03/src/translate.cpp:869: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. static char word_iz[4] = {0,'i','z',0}; data/espeakedit-1.48.03/src/translate.cpp:870: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. static char word_ss[4] = {0,'s','s',0}; data/espeakedit-1.48.03/src/translate.cpp:914:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word_copy2, word_start, word_copy_length); data/espeakedit-1.48.03/src/translate.cpp:1036: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(word_phonemes,"%c",phonSWITCH); data/espeakedit-1.48.03/src/translate.cpp:1206:6: [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 end_phonemes2[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/translate.cpp:1215:7: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(wordx,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/translate.cpp:1278:6: [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 prefix_phonemes2[12]; data/espeakedit-1.48.03/src/translate.cpp:1351:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(wordx,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/translate.cpp:1372:8: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(wordx,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/translate.cpp:1427:9: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(wordx,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/translate.cpp:1442:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(wordx,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/translate.cpp:1651:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word_start, word_copy2, word_copy_length); data/espeakedit-1.48.03/src/translate.cpp:1805:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word_copy[N_WORD_BYTES+1]; data/espeakedit-1.48.03/src/translate.cpp:1806:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char word_replaced[N_WORD_BYTES+1]; data/espeakedit-1.48.03/src/translate.cpp:1807:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char old_dictionary_name[40]; data/espeakedit-1.48.03/src/translate.cpp:1883: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 lang_name[12]; data/espeakedit-1.48.03/src/translate.cpp:1925:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word, word_copy, word_copy_len); data/espeakedit-1.48.03/src/translate.cpp:1935:4: [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 ph_buf[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/translate.cpp:2008:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word, word_copy, word_copy_len); data/espeakedit-1.48.03/src/translate.cpp:2357:11: [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). value = atoi(&source[source_index]); data/espeakedit-1.48.03/src/translate.cpp:2474: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. static const unsigned char hangul_compatibility[0x34] = { data/espeakedit-1.48.03/src/translate.cpp:2612: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. static char voice_change_name[40]; data/espeakedit-1.48.03/src/translate.cpp:2615:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char sbuf[N_TR_SOURCE]; data/espeakedit-1.48.03/src/translate.cpp:3332: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 number_buf[150]; data/espeakedit-1.48.03/src/translate.cpp:3372:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(word,number_buf,nx); data/espeakedit-1.48.03/src/translate.cpp:3401:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&num_wtab[nw++], &words[ix], sizeof(WORD_TAB)); // copy the 'words' entry for each word of numbers data/espeakedit-1.48.03/src/translate.cpp:3426:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&num_wtab[nw], &words[ix], sizeof(WORD_TAB)*2); // the original number word, and the word after it data/espeakedit-1.48.03/src/translate.cpp:3434:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pn, pw, 16); data/espeakedit-1.48.03/src/translate.cpp:3465:6: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&number_buf[2],pw,nx); data/espeakedit-1.48.03/src/translate.h:555: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. unsigned char tunes[6]; data/espeakedit-1.48.03/src/translate.h:567:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char ascii_language[8]; // switch to this language for Latin characters data/espeakedit-1.48.03/src/translate.h:601:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dictionary_name[40]; data/espeakedit-1.48.03/src/translate.h:603:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes_repeat[20]; data/espeakedit-1.48.03/src/translate.h:607: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. unsigned char stress_amps[8]; data/espeakedit-1.48.03/src/translate.h:608: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. unsigned char stress_amps_r[8]; data/espeakedit-1.48.03/src/translate.h:618: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. unsigned char letter_bits[256]; data/espeakedit-1.48.03/src/translate.h:620:8: [2] (buffer) wchar_t: 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. const wchar_t *letter_groups[8]; data/espeakedit-1.48.03/src/translate.h:625: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. unsigned char punct_to_tone[INTONATION_TYPES][PUNCT_INTONATIONS]; data/espeakedit-1.48.03/src/translate.h:629:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *dict_hashtab[N_HASH_DICT]; // hash table to index dictionary lookup file data/espeakedit-1.48.03/src/translate.h:630:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *letterGroups[N_LETTER_GROUPS]; data/espeakedit-1.48.03/src/translate.h:635:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *groups1[256]; // translation rule lists, index by single letter data/espeakedit-1.48.03/src/translate.h:636:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *groups3[128]; // index by offset letter data/espeakedit-1.48.03/src/translate.h:637:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char *groups2[N_RULE_GROUP2]; // translation rule lists, indexed by two-letter pairs data/espeakedit-1.48.03/src/translate.h:641: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. unsigned char groups2_count[256]; // number of 2 letter groups for this initial letter data/espeakedit-1.48.03/src/translate.h:642: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. unsigned char groups2_start[256]; // index into groups2 data/espeakedit-1.48.03/src/translate.h:701: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. extern char skip_marker[N_MARKER_LENGTH]; data/espeakedit-1.48.03/src/translate.h:704:8: [2] (buffer) wchar_t: 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. extern wchar_t option_punctlist[N_PUNCTLIST]; // which punctuation characters to announce data/espeakedit-1.48.03/src/translate.h:705: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. extern unsigned char punctuation_to_tone[INTONATION_TYPES][PUNCT_INTONATIONS]; data/espeakedit-1.48.03/src/translate.h:710: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. extern char dictionary_name[40]; data/espeakedit-1.48.03/src/transldlg.cpp:102:2: [2] (buffer) wchar_t: 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. wchar_t wbuf[3]; data/espeakedit-1.48.03/src/transldlg.cpp:128:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char command[120]; data/espeakedit-1.48.03/src/transldlg.cpp:149: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. static char f_speech[120]; data/espeakedit-1.48.03/src/transldlg.cpp:166: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. static unsigned char wave_hdr[44] = { data/espeakedit-1.48.03/src/transldlg.cpp:177:12: [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). f_wave = fopen(path,"wb"); data/espeakedit-1.48.03/src/transldlg.cpp:223: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. unsigned char wav_outbuf[1024]; data/espeakedit-1.48.03/src/transldlg.cpp:327:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/transldlg.cpp:335:11: [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). f_text = fopen(buf,"r"); data/espeakedit-1.48.03/src/transldlg.cpp:356:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char vname[40]; data/espeakedit-1.48.03/src/transldlg.cpp:357:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[sizeof(path_home)+30]; data/espeakedit-1.48.03/src/transldlg.cpp:407:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[1000]; data/espeakedit-1.48.03/src/transldlg.cpp:408:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phon_out[N_PH_LIST*2]; data/espeakedit-1.48.03/src/transldlg.cpp:415:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_temp[100]; data/espeakedit-1.48.03/src/transldlg.cpp:432:3: [2] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). Risk is low because the source is a constant string. strcpy(fname_temp,"/tmp/espeakXXXXXX"); data/espeakedit-1.48.03/src/transldlg.cpp:433:17: [2] (tmpfile) mkstemp: Potential for temporary file vulnerability in some circumstances. Some older Unix-like systems create temp files with permission to write by all by default, so be sure to set the umask to override this. Also, some older Unix systems might fail to use O_EXCL when opening the file, so make sure that O_EXCL is used by the library (CWE-377). if((fd_temp = mkstemp(fname_temp)) >= 0) data/espeakedit-1.48.03/src/transldlg.cpp:437:12: [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). if((f = fopen(fname_temp,"w+")) != NULL) data/espeakedit-1.48.03/src/transldlg.cpp:444:11: [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). if((f = fopen(fname_temp,"w+")) != NULL) data/espeakedit-1.48.03/src/transldlg.cpp:501:5: [2] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant string. strcat(phon_out," ||"); data/espeakedit-1.48.03/src/transldlg.cpp:510:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(&ph_list[n_ph_list],phoneme_list,sizeof(PHONEME_LIST)*n_phoneme_list); data/espeakedit-1.48.03/src/voice.h:23:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char v_name[40]; data/espeakedit-1.48.03/src/voice.h:24:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char language_name[20]; data/espeakedit-1.48.03/src/voice.h:66: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. unsigned char tone_adjust[N_TONE_ADJUST]; // 8Hz steps * 1000 = 8kHz data/espeakedit-1.48.03/src/voicedlg.cpp:277:6: [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). f = fopen(filename.mb_str(wxConvLocal),"w"); data/espeakedit-1.48.03/src/voicedlg.cpp:351:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(pitchenv.env,env_fall,128); data/espeakedit-1.48.03/src/voices.cpp:188: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. const char variants_either[N_VOICE_VARIANTS] = {1,2,12,3,13,4,14,5,11,0}; data/espeakedit-1.48.03/src/voices.cpp:189: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. const char variants_male[N_VOICE_VARIANTS] = {1,2,3,4,5,6,0}; data/espeakedit-1.48.03/src/voices.cpp:190: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. const char variants_female[N_VOICE_VARIANTS] = {11,12,13,14,0}; data/espeakedit-1.48.03/src/voices.cpp:191: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. const char *variant_lists[3] = {variants_either, variants_male, variants_female}; data/espeakedit-1.48.03/src/voices.cpp:298:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char linebuf[120]; data/espeakedit-1.48.03/src/voices.cpp:299:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char vname[80]; data/espeakedit-1.48.03/src/voices.cpp:300:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char vgender[80]; data/espeakedit-1.48.03/src/voices.cpp:301:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char vlanguage[80]; data/espeakedit-1.48.03/src/voices.cpp:302:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char languages[300]; // allow space for several alternate language names and priorities data/espeakedit-1.48.03/src/voices.cpp:316:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname_buf[sizeof(path_home)+15]; data/espeakedit-1.48.03/src/voices.cpp:320:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(vname,&leafname[3],3); data/espeakedit-1.48.03/src/voices.cpp:380:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p,languages,langix); data/espeakedit-1.48.03/src/voices.cpp:409: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. static unsigned char default_heights[N_PEAKS] = {130,128,120,116,100,100,128,128,128}; // changed for v.1.47 data/espeakedit-1.48.03/src/voices.cpp:410: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. static unsigned char default_widths[N_PEAKS] = {140,128,128,160,171,171,128,128,128}; data/espeakedit-1.48.03/src/voices.cpp:517:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phon_string1[12]; data/espeakedit-1.48.03/src/voices.cpp:518:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phon_string2[12]; data/espeakedit-1.48.03/src/voices.cpp:520:2: [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(phon_string2,"NULL"); data/espeakedit-1.48.03/src/voices.cpp:585:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char voicename[40]; data/espeakedit-1.48.03/src/voices.cpp:586:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char language_name[40]; data/espeakedit-1.48.03/src/voices.cpp:587:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char translator_name[40]; data/espeakedit-1.48.03/src/voices.cpp:588:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char new_dictionary[40]; data/espeakedit-1.48.03/src/voices.cpp:589:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonemes_name[40]; data/espeakedit-1.48.03/src/voices.cpp:590:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char option_name[40]; data/espeakedit-1.48.03/src/voices.cpp:592:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[sizeof(path_home)+30]; data/espeakedit-1.48.03/src/voices.cpp:593:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path_voices[sizeof(path_home)+12]; data/espeakedit-1.48.03/src/voices.cpp:599:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char names[8][40]; data/espeakedit-1.48.03/src/voices.cpp:600:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name1[40]; data/espeakedit-1.48.03/src/voices.cpp:601:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name2[80]; data/espeakedit-1.48.03/src/voices.cpp:607: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. static char voice_identifier[40]; // file name for current_voice_selected data/espeakedit-1.48.03/src/voices.cpp:608: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. static char voice_name[40]; // voice name for current_voice_selected data/espeakedit-1.48.03/src/voices.cpp:609: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. static char voice_languages[100]; // list of languages and priorities for current_voice_selected data/espeakedit-1.48.03/src/voices.cpp:628:4: [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(voicename,"default"); data/espeakedit-1.48.03/src/voices.cpp:661:12: [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). f_voice = fopen(buf,"r"); data/espeakedit-1.48.03/src/voices.cpp:778:4: [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 vgender[80]; data/espeakedit-1.48.03/src/voices.cpp:862:13: [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). if((n = atoi(p)) > 0) data/espeakedit-1.48.03/src/voices.cpp:1150: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. static char variant_name[40]; data/espeakedit-1.48.03/src/voices.cpp:1151:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char variant_prefix[5]; data/espeakedit-1.48.03/src/voices.cpp:1154:2: [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(variant_prefix,"!v%c",PATHSEP); data/espeakedit-1.48.03/src/voices.cpp:1167: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). variant_num = atoi(p); // variant number data/espeakedit-1.48.03/src/voices.cpp:1197:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[60]; data/espeakedit-1.48.03/src/voices.cpp:1393:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char language[80]; data/espeakedit-1.48.03/src/voices.cpp:1394:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[sizeof(path_home)+80]; data/espeakedit-1.48.03/src/voices.cpp:1465:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char last_part[41]; data/espeakedit-1.48.03/src/voices.cpp:1466:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[40]; data/espeakedit-1.48.03/src/voices.cpp:1542: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. static char voice_id[50]; data/espeakedit-1.48.03/src/voices.cpp:1553:10: [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 buf[60]; data/espeakedit-1.48.03/src/voices.cpp:1638:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(vp2,vp,sizeof(espeak_VOICE)); // copy from the original voice data/espeakedit-1.48.03/src/voices.cpp:1649:3: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(vp2,vp,sizeof(espeak_VOICE)); // copy from the original voice data/espeakedit-1.48.03/src/voices.cpp:1676:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[sizeof(path_home)+100]; data/espeakedit-1.48.03/src/voices.cpp:1684:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[80]; data/espeakedit-1.48.03/src/voices.cpp:1685:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char directory2[sizeof(path_home)+100]; data/espeakedit-1.48.03/src/voices.cpp:1714: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). if((f_voice = fopen(fname,"r")) == NULL) data/espeakedit-1.48.03/src/voices.cpp:1755:19: [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). if((f_voice = fopen(fname,"r")) == NULL) data/espeakedit-1.48.03/src/voices.cpp:1798: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). if((f_voice = fopen(fname,"r")) == NULL) data/espeakedit-1.48.03/src/voices.cpp:1824: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. static char buf[60]; data/espeakedit-1.48.03/src/voices.cpp:1919:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char path_voices[sizeof(path_home)+12]; data/espeakedit-1.48.03/src/vowelchart.cpp:277:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[40]; data/espeakedit-1.48.03/src/vowelchart.cpp:278:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[200]; data/espeakedit-1.48.03/src/vowelchart.cpp:297:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f_in = fopen(buf,"r"); data/espeakedit-1.48.03/src/vowelchart.cpp:398:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char phonetic[N_WORD_PHONEMES]; data/espeakedit-1.48.03/src/vowelchart.cpp:570:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char dirname[sizeof(path_source)+20]; data/espeakedit-1.48.03/src/vowelchart.cpp:571:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char fname[sizeof(dirname)+40]; data/espeakedit-1.48.03/src/vowelchart.cpp:572:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char save_voice_name[80]; data/espeakedit-1.48.03/src/vowelchart.cpp:577:19: [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). if((f_prog_log = fopen(fname,"rb")) == NULL) data/espeakedit-1.48.03/src/vowelchart.cpp:600:11: [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). if((f = fopen(fname,"w"))==NULL) continue; data/espeakedit-1.48.03/src/vowelchart.cpp:674: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. extern char envelope_paths[N_ENVELOPES][80]; data/espeakedit-1.48.03/src/vowelchart.cpp:675: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. extern unsigned char envelope_dat[N_ENVELOPES][ENV_LEN]; data/espeakedit-1.48.03/src/vowelchart.cpp:687:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[200]; data/espeakedit-1.48.03/src/wave.cpp:216: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 myBuffer[BUFFER_LENGTH]; data/espeakedit-1.48.03/src/wave.cpp:336:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(outputBuffer, myRead, n); data/espeakedit-1.48.03/src/wave.cpp:348:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(outputBuffer, myRead, aUsedMem); data/espeakedit-1.48.03/src/wave.cpp:360:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(outputBuffer, myRead, n); data/espeakedit-1.48.03/src/wave.cpp:369:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(outputBuffer, myRead, aTopMem); data/espeakedit-1.48.03/src/wave.cpp:376:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p, myBuffer, aRest); data/espeakedit-1.48.03/src/wave.cpp:389:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(outputBuffer, myRead, aTopMem); data/espeakedit-1.48.03/src/wave.cpp:396:5: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(p, myBuffer, aRest); data/espeakedit-1.48.03/src/wave.cpp:825:4: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(dest, src, theSizeInBytes); data/espeakedit-1.48.03/src/wavegen.cpp:163: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. static unsigned char modulation_tab[N_ROUGHNESS][8] = { data/espeakedit-1.48.03/src/wavegen.cpp:177: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. static const unsigned char Flutter_tab[N_FLUTTER] = { data/espeakedit-1.48.03/src/wavegen.cpp:238: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. static unsigned char wavemult[N_WAVEMULT] = { data/espeakedit-1.48.03/src/wavegen.cpp:250:10: [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. unsigned char pitch_adjust_tab[MAX_PITCH_VALUE+1] = { data/espeakedit-1.48.03/src/wavegen.cpp:269:2: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char buf[20]; data/espeakedit-1.48.03/src/wavegen.cpp:277:9: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f_log=fopen("log-espeakedit","a"); data/espeakedit-1.48.03/src/wavegen.cpp:355:10: [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. unsigned char pk_shape1[PEAKSHAPEW+1] = { data/espeakedit-1.48.03/src/wavegen.cpp:374: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. static unsigned char pk_shape2[PEAKSHAPEW+1] = { data/espeakedit-1.48.03/src/wavegen.cpp:494:2: [2] (buffer) memcpy: Does not check for buffer overflows when copying to destination (CWE-120). Make sure destination can always hold the source data. memcpy(outputBuffer, outbuffer, pa_size); data/espeakedit-1.48.03/src/wavegen.cpp:806: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. static const unsigned char amp_emphasis[5] = {16, 16, 10, 16, 22}; data/espeakedit-1.48.03/src/wavegen.cpp:1700:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f_log=fopen("log-espeakedit","a"); data/espeakedit-1.48.03/src/wavegen.cpp:1745:8: [2] (misc) fopen: Check when opening files - can an attacker redirect it (via symlinks), force the opening of special file type (e.g., device files), move things around to create a race condition, control its ancestors, or change its contents? (CWE-362). f_log=fopen("log-espeakedit","a"); data/espeakedit-1.48.03/src/wavegen.cpp:1905:30: [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. SetPitch(length,(unsigned char *)q[2],q[3] >> 16,q[3] & 0xffff); data/espeakedit-1.48.03/src/wavegen.cpp:1943: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. wdata.mix_wavefile = (unsigned char *)q[2]; data/espeakedit-1.48.03/src/wavegen.cpp:1975:34: [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. SetAmplitude(length,(unsigned char *)q[2],q[3]); data/espeakedit-1.48.03/src/compiledata.cpp:791:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). j = strlen(data_path); data/espeakedit-1.48.03/src/compiledata.cpp:975:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(path_dsource,"/"); data/espeakedit-1.48.03/src/compiledata.cpp:1220: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). ix = strlen(string); data/espeakedit-1.48.03/src/compiledata.cpp:1267:6: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(f_in); data/espeakedit-1.48.03/src/compiledata.cpp:1879: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). len = strlen(fname); data/espeakedit-1.48.03/src/compiledata.cpp:1933:8: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c1 = fgetc(f); data/espeakedit-1.48.03/src/compiledata.cpp:1934:8: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c3 = fgetc(f); data/espeakedit-1.48.03/src/compiledata.cpp:1966:8: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c1 = fgetc(f); data/espeakedit-1.48.03/src/compiledata.cpp:1967:8: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c3 = fgetc(f); data/espeakedit-1.48.03/src/compiledata.cpp:2217:52: [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). p2 = (REF_HASH_TAB *)malloc(sizeof(REF_HASH_TAB)+strlen(path)+1); data/espeakedit-1.48.03/src/compiledata.cpp:2640:6: [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(string) <= 4) && ((ix = LookupPhoneme(string,0)) != -1)) data/espeakedit-1.48.03/src/compiledata.cpp:2902:6: [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(item_string," "); data/espeakedit-1.48.03/src/compiledata.cpp:2951: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). value = strlen(&ipa_buf[start]); // number of UTF-8 bytes data/espeakedit-1.48.03/src/compiledata.cpp:3564:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(path_source,"/"); data/espeakedit-1.48.03/src/compiledict.cpp:211: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). total = strlen(buf); data/espeakedit-1.48.03/src/compiledict.cpp:220:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(name) + 1; data/espeakedit-1.48.03/src/compiledict.cpp:272: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). p = &buf[strlen(buf)]; data/espeakedit-1.48.03/src/compiledict.cpp:296: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 = &buf[strlen(buf)]; data/espeakedit-1.48.03/src/compiledict.cpp:322: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). p += (strlen(name)+1); data/espeakedit-1.48.03/src/compiledict.cpp:338: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). sprintf(&suffix[strlen(suffix)],"%c",flag_chars[ix]); data/espeakedit-1.48.03/src/compiledict.cpp:342: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). p += strlen(suffix); data/espeakedit-1.48.03/src/compiledict.cpp:384:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p = &p[strlen(p)]; data/espeakedit-1.48.03/src/compiledict.cpp:386:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if(((ix = strlen(buf_pre)) > 0) || at_start) data/espeakedit-1.48.03/src/compiledict.cpp:399: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). ix = strlen(output); data/espeakedit-1.48.03/src/compiledict.cpp:644:4: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(phonetic, " "); // need a space to indicate word-boundary data/espeakedit-1.48.03/src/compiledict.cpp:730: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). len_word = strlen(word); data/espeakedit-1.48.03/src/compiledict.cpp:738: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). len_phonetic = strlen(encoded_ph); data/espeakedit-1.48.03/src/compiledict.cpp:956: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). len = strlen(rule_phonemes); data/espeakedit-1.48.03/src/compiledict.cpp:1111: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). len = strlen(mr->mnem); data/espeakedit-1.48.03/src/compiledict.cpp:1306:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(buf)+1; data/espeakedit-1.48.03/src/compiledict.cpp:1308: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). len_name = strlen(group_name); data/espeakedit-1.48.03/src/compiledict.cpp:1323: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). len += strlen(rule_match); data/espeakedit-1.48.03/src/compiledict.cpp:1374: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(ix = strlen(rule_pre)-1; ix>=start; ix--) data/espeakedit-1.48.03/src/compiledict.cpp:1381: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). len += (strlen(rule_post)+1); data/espeakedit-1.48.03/src/compiledict.cpp:1397: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). pa += (strlen(pa)+1); data/espeakedit-1.48.03/src/compiledict.cpp:1398: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). pb += (strlen(pb)+1); data/espeakedit-1.48.03/src/compiledict.cpp:1407: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). ix = strlen(b->name) - strlen(a->name); data/espeakedit-1.48.03/src/compiledict.cpp:1407: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). ix = strlen(b->name) - strlen(a->name); data/espeakedit-1.48.03/src/compiledict.cpp:1437:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len1 = strlen(p) + 1; data/espeakedit-1.48.03/src/compiledict.cpp:1439:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len2 = strlen(p); data/espeakedit-1.48.03/src/compiledict.cpp:1466: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). pout += strlen(suffix); data/espeakedit-1.48.03/src/compiledict.cpp:1483: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). spaces -= strlen(buf); data/espeakedit-1.48.03/src/compiledict.cpp:1490: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). for(ix=strlen(rule_pre)-1; ix>=0; ix--) data/espeakedit-1.48.03/src/compiledict.cpp:1493: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). spaces -= strlen(buf); data/espeakedit-1.48.03/src/compiledict.cpp:1507: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). p = &buf[strlen(buf)]; data/espeakedit-1.48.03/src/compiledict.cpp:1511: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). spaces -= strlen(buf); data/espeakedit-1.48.03/src/compiledict.cpp:1536: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). len_name = strlen(name); data/espeakedit-1.48.03/src/compiledict.cpp:1552:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len1 = strlen(p) + 1; // phoneme string data/espeakedit-1.48.03/src/compiledict.cpp:1555:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len2 = strlen(p2); data/espeakedit-1.48.03/src/compiledict.cpp:1790: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). if((group3_ix == 0) && (strlen(group_name) > 2)) data/espeakedit-1.48.03/src/compiledict.cpp:1884:8: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(f_temp); data/espeakedit-1.48.03/src/dictionary.cpp:88:2: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(to,from,size); data/espeakedit-1.48.03/src/dictionary.cpp:197:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(p); data/espeakedit-1.48.03/src/dictionary.cpp:230:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p += (strlen(p) + 1); data/espeakedit-1.48.03/src/dictionary.cpp:555: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). return(phon_out + strlen(phon_out)); data/espeakedit-1.48.03/src/dictionary.cpp:587: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). len = strlen(p); data/espeakedit-1.48.03/src/dictionary.cpp:811:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(p); data/espeakedit-1.48.03/src/dictionary.cpp:1844: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). length = strlen(ph) + strlen(string); data/espeakedit-1.48.03/src/dictionary.cpp:1844:24: [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). length = strlen(ph) + strlen(string); data/espeakedit-1.48.03/src/dictionary.cpp:2886: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). memcpy(p_start,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/dictionary.cpp:2896: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). memcpy(p_start,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/dictionary.cpp:2909:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(phonemes); data/espeakedit-1.48.03/src/dictionary.cpp:3055:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). return(strlen(text)); data/espeakedit-1.48.03/src/dictionary.cpp:3112:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). wlen = strlen(word); data/espeakedit-1.48.03/src/dictionary.cpp:3156:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). phoneme_len = strlen(p); data/espeakedit-1.48.03/src/dictionary.cpp:3721: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). len = strlen(p); data/espeakedit-1.48.03/src/dictionary.cpp:3734: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). len = strlen(p); data/espeakedit-1.48.03/src/espeak_command.cpp:316:19: [1] (buffer) wcslen: 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). size_t len = (wcslen(punctlist) + 1)*sizeof(wchar_t); data/espeakedit-1.48.03/src/espeakedit.cpp:813:5: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(path_dsource,"/"); data/espeakedit-1.48.03/src/event.cpp:233:5: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(50000); data/espeakedit-1.48.03/src/extras.cpp:176: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). xa = strlen(pa)-1; data/espeakedit-1.48.03/src/extras.cpp:177: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). xb = strlen(pb)-1; data/espeakedit-1.48.03/src/extras.cpp:419:6: [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(word) < 8) data/espeakedit-1.48.03/src/extras.cpp:428: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). len = strlen(word) - 1; data/espeakedit-1.48.03/src/extras.cpp:832:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if(strlen(word) < 8) data/espeakedit-1.48.03/src/extras.cpp:833:6: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(word,"\t"); data/espeakedit-1.48.03/src/extras.cpp:1380: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). wlen = strlen(word); data/espeakedit-1.48.03/src/extras.cpp:1383: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). len = strlen(suffix); data/espeakedit-1.48.03/src/extras.cpp:1516:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(word) + 1; data/espeakedit-1.48.03/src/extras.cpp:1545:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((c = fgetc(f_in)) < 'A') data/espeakedit-1.48.03/src/extras.cpp:1556:8: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(f_in); data/espeakedit-1.48.03/src/extras.cpp:1687:7: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(f_in) & 0xff; data/espeakedit-1.48.03/src/extras.cpp:1752: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). line_len = strlen(buf); data/espeakedit-1.48.03/src/extras.cpp:1763: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). key_len = strlen(sort_list[ix]); data/espeakedit-1.48.03/src/extras.cpp:1825: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). key_len = strlen(key); data/espeakedit-1.48.03/src/extras.cpp:1910:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ix = strlen(buf) - 1; data/espeakedit-1.48.03/src/extras.cpp:2383:7: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(f); data/espeakedit-1.48.03/src/extras.cpp:2407:24: [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). espeak_Synth(textbuf, strlen(textbuf)+1, 0, POS_CHARACTER, 0, espeakSSML|espeakCHARS_UTF8, &unique_identifier, (void *)user_data); data/espeakedit-1.48.03/src/fifo.cpp:133:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(50000); // TBD: event? data/espeakedit-1.48.03/src/fifo.cpp:184:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(50000); // TBD: event? data/espeakedit-1.48.03/src/mbrowrap.cpp:155: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). written = write(p_stderr[1], mbr_errorbuf, strlen(mbr_errorbuf)); data/espeakedit-1.48.03/src/mbrowrap.cpp:173: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). written = write(2, mbr_errorbuf, strlen(mbr_errorbuf)); data/espeakedit-1.48.03/src/mbrowrap.cpp:272:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(mbr_errorbuf); data/espeakedit-1.48.03/src/mbrowrap.cpp:289:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result = read(mbr_error_fd, buf_ptr, data/espeakedit-1.48.03/src/mbrowrap.cpp:334:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(cmd); data/espeakedit-1.48.03/src/mbrowrap.cpp:377:6: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). if (read(mbr_proc_stat, buffer, sizeof(buffer)) != sizeof(buffer)) data/espeakedit-1.48.03/src/mbrowrap.cpp:465:23: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). ssize_t obtained = read(mbr_audio_fd, curpos, space); data/espeakedit-1.48.03/src/mbrowrap.cpp:551:12: [1] (buffer) read: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). result = read(mbr_audio_fd, dummybuf, sizeof(dummybuf)); data/espeakedit-1.48.03/src/numbers.cpp:474: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). ph_buf += strlen(ph_buf); data/espeakedit-1.48.03/src/numbers.cpp:769: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). len = strlen(&capital[3]); data/espeakedit-1.48.03/src/numbers.cpp:833: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). len = strlen(ph_buf2) + 3; data/espeakedit-1.48.03/src/numbers.cpp:903: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). len = strlen(&ph_buf[3]) + 3; data/espeakedit-1.48.03/src/numbers.cpp:966: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). pbuf += strlen(pbuf); data/espeakedit-1.48.03/src/numbers.cpp:980:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(phonemes); data/espeakedit-1.48.03/src/numbers.cpp:986:12: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if((len + strlen(ph_buf2)) < N_WORD_PHONEMES) data/espeakedit-1.48.03/src/numbers.cpp:1226: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). p = &ph_out[strlen(ph_roman)]; data/espeakedit-1.48.03/src/numbers.cpp:1678: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). if(((ix = strlen(ph_tens)-1) >= 0) && (ph_digits[0] != 0)) data/espeakedit-1.48.03/src/numbers.cpp:1695: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). for(ix=0; ix < (signed)strlen(ph_out); ix++) data/espeakedit-1.48.03/src/numbers.cpp:1710:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). for(ix=strlen(ph_out)-1; ix>=0; ix--) data/espeakedit-1.48.03/src/numbers.cpp:1964: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). ix = strlen(buf1); data/espeakedit-1.48.03/src/numbers.cpp:2145: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). Lookup(tr, "_0", &ph_zeros[strlen(ph_zeros)]); data/espeakedit-1.48.03/src/numbers.cpp:2288: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). ph_out += strlen(ph_out); data/espeakedit-1.48.03/src/numbers.cpp:2378: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). while(IsDigit09(c = word[n_digits]) && (strlen(ph_out) < (N_WORD_PHONEMES - 10))) data/espeakedit-1.48.03/src/numbers.cpp:2383:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(ph_out); data/espeakedit-1.48.03/src/options.cpp:115:2: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(path_source,"/"); data/espeakedit-1.48.03/src/options.cpp:118:2: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(path_dsource,"/"); data/espeakedit-1.48.03/src/prosodydisplay.cpp:119: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). if((p = (char *)malloc(strlen(name)+1)) != NULL) data/espeakedit-1.48.03/src/readclause.cpp:401:11: [1] (buffer) wcslen: 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). const int wcslen(const wchar_t *str) data/espeakedit-1.48.03/src/readclause.cpp:560:7: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(f_input); data/espeakedit-1.48.03/src/readclause.cpp:565:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c2 = fgetc(f_input); data/espeakedit-1.48.03/src/readclause.cpp:840:7: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = fgetc(f) & 0xff; data/espeakedit-1.48.03/src/readclause.cpp:976:77: [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). soundicon_tab[slot].filename = (char *)realloc(soundicon_tab[ix].filename, strlen(fname)+1); data/espeakedit-1.48.03/src/readclause.cpp:1087:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(buf); data/espeakedit-1.48.03/src/readclause.cpp:1227: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). p += (strlen(p) + 1); data/espeakedit-1.48.03/src/readclause.cpp:1312: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). *outix += strlen(buf); data/espeakedit-1.48.03/src/readclause.cpp:1541:10: [1] (buffer) wcslen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = (wcslen((const wchar_t *)name)+1)*sizeof(wchar_t); data/espeakedit-1.48.03/src/readclause.cpp:1546: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). len = strlen(name)+1; data/espeakedit-1.48.03/src/readclause.cpp:1962: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). *outix += strlen(buf); data/espeakedit-1.48.03/src/readclause.cpp:2016: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). *outix += strlen(buf); data/espeakedit-1.48.03/src/readclause.cpp:2044: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). *outix += strlen(buf); data/espeakedit-1.48.03/src/readclause.cpp:2057: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). *outix += strlen(buf); data/espeakedit-1.48.03/src/readclause.cpp:2287: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). ix += strlen(ungot_word); data/espeakedit-1.48.03/src/readclause.cpp:2608:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). j = strlen(text_buf); data/espeakedit-1.48.03/src/readclause.cpp:2759: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). ix += strlen(p2); data/espeakedit-1.48.03/src/speak_lib.cpp:155:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(10000); data/espeakedit-1.48.03/src/speak_lib.cpp:247:4: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(10000); data/espeakedit-1.48.03/src/speak_lib.cpp:738:3: [1] (buffer) wcsncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). wcsncpy(option_punctlist, punctlist, N_PUNCTLIST); data/espeakedit-1.48.03/src/speak_lib.cpp:1244:3: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(20000); data/espeakedit-1.48.03/src/synth_mbrola.cpp:405:2: [1] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). Risk is low because the source is a constant character. strcat(output,"\n"); data/espeakedit-1.48.03/src/synthdata.cpp:515: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). p = Alloc(strlen(string)+1); data/espeakedit-1.48.03/src/translate.cpp:785:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(&p[1]); data/espeakedit-1.48.03/src/translate.cpp:1215: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). memcpy(wordx,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/translate.cpp:1351: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). memcpy(wordx,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/translate.cpp:1372: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). memcpy(wordx,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/translate.cpp:1427: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). memcpy(wordx,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/translate.cpp:1442: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). memcpy(wordx,word_copy,strlen(word_copy)); data/espeakedit-1.48.03/src/translate.cpp:1533:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). ix = strlen(word_phonemes); data/espeakedit-1.48.03/src/translate.cpp:2561:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(p); data/espeakedit-1.48.03/src/transldlg.cpp:373:24: [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 = path.Mid(strlen(fname)+1); data/espeakedit-1.48.03/src/transldlg.cpp:385: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). filename = path.Mid(strlen(fname)+1); data/espeakedit-1.48.03/src/voices.cpp:212:8: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(buf); data/espeakedit-1.48.03/src/voices.cpp:347:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(vlanguage) + 2; data/espeakedit-1.48.03/src/voices.cpp:376:53: [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 = (char *)calloc(sizeof(espeak_VOICE) + langix + strlen(fname) + strlen(vname) + 3, 1); data/espeakedit-1.48.03/src/voices.cpp:376:69: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p = (char *)calloc(sizeof(espeak_VOICE) + langix + strlen(fname) + strlen(vname) + 3, 1); data/espeakedit-1.48.03/src/voices.cpp:389: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). langix += strlen(fname)+1; data/espeakedit-1.48.03/src/voices.cpp:737:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len = strlen(language_name) + 2; data/espeakedit-1.48.03/src/voices.cpp:1400: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). lang_len = strlen(voice_select->languages); data/espeakedit-1.48.03/src/voices.cpp:1483:18: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). last_part_len = strlen(last_part); data/espeakedit-1.48.03/src/voices.cpp:1499: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). else if(strcmp(last_part,&id[strlen(id)-last_part_len])==0) data/espeakedit-1.48.03/src/voices.cpp:1703: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). len = strlen(&buf[20]); data/espeakedit-1.48.03/src/voices.cpp:1926: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). len_path_voices = strlen(path_voices)+1; data/espeakedit-1.48.03/src/voices.cpp:1942:20: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). len_path_voices = strlen(path_voices)+1; data/espeakedit-1.48.03/src/vowelchart.cpp:434:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p += (strlen(p)+1); data/espeakedit-1.48.03/src/vowelchart.cpp:480:10: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). p += strlen(phonetic) +1; data/espeakedit-1.48.03/src/wave.cpp:918:3: [1] (obsolete) usleep: This C routine is considered obsolete (as opposed to the shell command by the same name). The interaction of this function with SIGALRM and other timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead. usleep(10000); ANALYSIS SUMMARY: Hits = 1334 Lines analyzed = 56245 in approximately 1.45 seconds (38660 lines/second) Physical Source Lines of Code (SLOC) = 41394 Hits@level = [0] 283 [1] 165 [2] 786 [3] 7 [4] 376 [5] 0 Hits@level+ = [0+] 1617 [1+] 1334 [2+] 1169 [3+] 383 [4+] 376 [5+] 0 Hits/KSLOC@level+ = [0+] 39.0636 [1+] 32.2269 [2+] 28.2408 [3+] 9.25255 [4+] 9.08344 [5+] 0 Dot directories skipped = 1 (--followdotdir overrides) Minimum risk level = 1 Not every hit is necessarily a security vulnerability. There may be other security vulnerabilities; review your code! See 'Secure Programming HOWTO' (https://dwheeler.com/secure-programs) for more information.