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/libpsortb-1.0+dfsg/svmloc/binding.h Examining data/libpsortb-1.0+dfsg/svmloc/binding.cpp Examining data/libpsortb-1.0+dfsg/svmloc/svmloc.h Examining data/libpsortb-1.0+dfsg/svmloc/svmloc.cpp Examining data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c Examining data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c Examining data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c Examining data/libpsortb-1.0+dfsg/modhmm0.92b/std_calculation_funcs.c Examining data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c Examining data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c Examining data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h Examining data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c Examining data/libpsortb-1.0+dfsg/modhmm0.92b/cmdline_hmmsearch.h Examining data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c Examining data/libpsortb-1.0+dfsg/modhmm0.92b/debug_funcs.c Examining data/libpsortb-1.0+dfsg/modhmm0.92b/funcs.h FINAL RESULTS: data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:62: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(hmmp->name, &s[6]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:72: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(hmmp->alphabet, &s[10]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:338: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(hmmp->name, &s[6]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:348: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(hmmp->alphabet, &s[10]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:600: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(modulep->name, &s[8]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:604: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(type, &s[6]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:638: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(prifile_name, (&s[21])); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:647: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(modulep->priorfile_name, prifile_name); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:687: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(type, &s[13]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1201: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(full_filename, path); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1202: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(full_filename, file_name); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1213: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(emission_priorsp->name, file_name); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:317: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(hmmp->name, &s[6]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:338: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(hmmp->alphabet, &s[12]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:351: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(hmmp->alphabet_2, &s[12]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:365: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(hmmp->alphabet_3, &s[12]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:379: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(hmmp->alphabet_4, &s[12]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:722: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(modulep->name, &s[8]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:729: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(type, &s[6]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:765: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(prifile_name, (&s[23])); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:774: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(modulep->priorfile_name, prifile_name); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:799: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(prifile_name_2, (&s[23])); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:808: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(modulep->priorfile_name_2, prifile_name_2); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:834: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(prifile_name_3, (&s[23])); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:843: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(modulep->priorfile_name_3, prifile_name_3); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:869: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(prifile_name_4, (&s[23])); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:878: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(modulep->priorfile_name_4, prifile_name_4); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:942: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(type, &s[13]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1584: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(emission_priorsp->name, file_name); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:388: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(alphabet, s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:505: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(alphabet, s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:708: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(s,c->letter); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:935: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(alphabet, s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1050: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(alphabet, s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1710: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(temp, fcvt(nr, 0, &dec, &sign)); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1729: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(temp, fcvt(nr, prec, &dec, &sign)); data/libpsortb-1.0+dfsg/svmloc/svmloc.cpp:9: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(stdout,a,alist); data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c:3165:3: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(time(0)); data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c:3180:3: [3] (random) srand: This function is not sufficiently random for security-related functions such as key and nonce creation (CWE-327). Use a more secure technique for acquiring random values. srand(time(0)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:97: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(seq+1, s, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:100: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(seq_2+1, s_2, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:104: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(seq_3+1, s_3, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:108: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(seq_4+1, s_4, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:319: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(seq+1, s, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:322: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(seq_2+1, s_2, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:326: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(seq_3+1, s_3, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:330: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(seq_4+1, s_4, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:557: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(seq+1, s, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:560: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(seq_2+1, s_2, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:564: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(seq_3+1, s_3, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:568: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(seq_4+1, s_4, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:862: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(seq+1, s, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:865: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(seq_2+1, s_2, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:869: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(seq_3+1, s_3, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:873: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(seq_4+1, s_4, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:1095: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(best_labeling, ((cur_rowp + hmmp->nr_v - 1)->labeling) + 1, seq_len * sizeof(char)); data/libpsortb-1.0+dfsg/modhmm0.92b/core_algorithms_multialpha.c:2073: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(best_labeling, ((cur_rowp + hmmp->nr_v - 1)->labeling) + 1, seq_len * sizeof(char)); data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c:103: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((hmmfile = fopen(hmmfilename, "r")) == NULL) { data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c:123:22: [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((replfile = fopen(repfilename, "r")) == NULL) { data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c:234: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((hmmfile = fopen(hmmfilename, "r")) == NULL) { data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c:250:22: [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((replfile = fopen(repfilename, "r")) == NULL) { data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c:329: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 s[MAX_LINE]; data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c:342:28: [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). null_model.nr_alphabets = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c:359:26: [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). null_model.a_size = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c:363:28: [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). null_model.a_size_2 = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c:367:28: [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). null_model.a_size_3 = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/hmmsearch.c:371:28: [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). null_model.a_size_4 = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:36: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 s[MAX_LINE], *c; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:77: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). hmmp->a_size = atoi(&s[17]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:81: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). hmmp->nr_m = atoi(&s[15]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:85: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). hmmp->nr_v = atoi(&s[16]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:111: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). hmmp->nr_t = atoi(&s[19]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:115: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). hmmp->nr_d = atoi(&s[27]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:120: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). hmmp->nr_ttg = atoi(&s[29]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:125: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). nr_priorfiles = atoi(&s[27]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:138:27: [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). nr_trans_priorfiles = atoi(&s[29]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:198: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). *cur = atoi(&s[j]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:237:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). trans.from_v = atoi(&s[j]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:242:15: [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). trans.to_v = atoi(&s[j]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:243: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(trans_ties, &trans, sizeof(struct transition_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:257: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(trans_ties, &trans, sizeof(struct transition_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:312: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 s[MAX_LINE], *c; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:353: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). hmmp->a_size = atoi(&s[17]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:357: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). hmmp->nr_m = atoi(&s[15]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:361: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). hmmp->nr_v = atoi(&s[16]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:387: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). hmmp->nr_t = atoi(&s[19]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:391: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). hmmp->nr_d = atoi(&s[27]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:396: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). hmmp->nr_ttg = atoi(&s[29]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:401: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). nr_priorfiles = atoi(&s[27]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:414:27: [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). nr_trans_priorfiles = atoi(&s[29]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:474: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). *cur = atoi(&s[j]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:513:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). trans.from_v = atoi(&s[j]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:518:15: [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). trans.to_v = atoi(&s[j]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:519: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(trans_ties, &trans, sizeof(struct transition_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:533: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(trans_ties, &trans, sizeof(struct transition_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:592: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 type[50]; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:593: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 prifile_name[500]; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:633: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). modulep->nr_v = atoi(&s[12]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:643:7: [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(modulep->priorfile_name, "null"); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:679:16: [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). from_v = atoi(&s[7]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:740:14: [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). nr_t = atoi(&s[17]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:744:15: [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). nr_et = atoi(&s[21]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:748:14: [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). nr_e = atoi(&s[15]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:754: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). to_v = atoi(&s[8]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:789: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). to_v = atoi(&s[8]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:974: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(temp_pathp + length, &cur_p_el, sizeof(struct path_element)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:987: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(*from_transp, &p_el, sizeof(struct path_element)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:990: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(*from_transp, &cur_p_el, sizeof(struct path_element)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1075: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(*to_transp, &p_el, sizeof(struct path_element)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1080: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(*to_transp, &p_el, sizeof(struct path_element)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1171: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 s[2048], *p; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1172: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 ps[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1173: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 full_filename[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1203:23: [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((priorfile = fopen(full_filename,"r")) != NULL) { data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1239:45: [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). (emission_priorsp + i)->nr_components = atoi(&ps[0]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1331: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 s[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:35: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 s[MAX_LINE]; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:56: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 s[MAX_LINE], s_2[MAX_LINE]; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:143: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(retrain_hmmp->name, hmmp->name, 100); /* name of the HMM */ data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:146: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(retrain_hmmp->alphabet, hmmp->alphabet, 1000); /* the alphabet */ data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:147: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(retrain_hmmp->alphabet_2, hmmp->alphabet_2, 1000); /* the alphabet */ data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:148: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(retrain_hmmp->alphabet_3, hmmp->alphabet_3, 1000); /* the alphabet */ data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:149: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(retrain_hmmp->alphabet_4, hmmp->alphabet_4, 1000); /* the alphabet */ data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:178: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(retrain_hmmp->modules, hmmp->modules, hmmp->nr_m * sizeof(struct module_multi_s*) + data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:184: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(retrain_hmmp->silent_vertices, hmmp->silent_vertices, (hmmp->nr_v + 1) * sizeof(int)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:185: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(retrain_hmmp->locked_vertices, hmmp->locked_vertices, (hmmp->nr_v + 1) * sizeof(int)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:188: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(retrain_hmmp->vertex_labels, hmmp->vertex_labels, hmmp->nr_v * sizeof(char)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:190: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(retrain_hmmp->labels, hmmp->labels, hmmp->nr_v * sizeof(char)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:196: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(retrain_hmmp->vertex_trans_prior_scalers, hmmp->vertex_trans_prior_scalers, hmmp->nr_v * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:199: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(retrain_hmmp->vertex_emiss_prior_scalers, hmmp->vertex_emiss_prior_scalers, hmmp->nr_v * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:202: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(retrain_hmmp->vertex_emiss_prior_scalers_2, hmmp->vertex_emiss_prior_scalers_2, hmmp->nr_v * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:207: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(retrain_hmmp->vertex_emiss_prior_scalers_3, hmmp->vertex_emiss_prior_scalers_3, hmmp->nr_v * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:211: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(retrain_hmmp->vertex_emiss_prior_scalers_4, hmmp->vertex_emiss_prior_scalers_4, hmmp->nr_v * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:216: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(retrain_hmmp->transitions, hmmp->transitions, hmmp->nr_v * hmmp->nr_v * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:217: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(retrain_hmmp->log_transitions, hmmp->log_transitions, hmmp->nr_v * hmmp->nr_v * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:221: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(retrain_hmmp->emissions, hmmp->emissions, hmmp->nr_v * hmmp->a_size * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:222: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(retrain_hmmp->log_emissions, hmmp->log_emissions, hmmp->nr_v * hmmp->a_size * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:228: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(retrain_hmmp->emissions_2, hmmp->emissions_2, hmmp->nr_v * hmmp->a_size * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:229: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(retrain_hmmp->log_emissions_2, hmmp->log_emissions_2, hmmp->nr_v * hmmp->a_size * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:236: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(retrain_hmmp->emissions_3, hmmp->emissions_3, hmmp->nr_v * hmmp->a_size * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:237: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(retrain_hmmp->log_emissions_3, hmmp->log_emissions_3, hmmp->nr_v * hmmp->a_size * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:244: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(retrain_hmmp->emissions_4, hmmp->emissions_4, hmmp->nr_v * hmmp->a_size * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:245: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(retrain_hmmp->log_emissions_4, hmmp->log_emissions_4, hmmp->nr_v * hmmp->a_size * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:271: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(retrain_hmmp->distrib_groups, hmmp->distrib_groups,(hmmp->nr_d + hmmp->nr_v) * sizeof(int)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:274: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(retrain_hmmp->trans_tie_groups, hmmp->trans_tie_groups,(hmmp->nr_t + hmmp->nr_ttg) * sizeof(struct transition_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:295: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 s[MAX_LINE], *c; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:329:26: [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). hmmp->nr_alphabets = atoi(&s[17]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:346: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). hmmp->a_size = atoi(&s[19]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:359:24: [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). hmmp->a_size_2 = atoi(&s[19]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:373:24: [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). hmmp->a_size_3 = atoi(&s[19]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:387:24: [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). hmmp->a_size_4 = atoi(&s[19]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:392: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). hmmp->nr_m = atoi(&s[15]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:398: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). hmmp->nr_v = atoi(&s[16]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:458: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). hmmp->nr_t = atoi(&s[19]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:462: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). hmmp->nr_d = atoi(&s[27]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:468: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). hmmp->nr_ttg = atoi(&s[29]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:474: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). nr_priorfiles = atoi(&s[29]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:489: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). nr_priorfiles = atoi(&s[29]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:505: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). nr_priorfiles = atoi(&s[29]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:521: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). nr_priorfiles = atoi(&s[29]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:536:27: [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). nr_trans_priorfiles = atoi(&s[29]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:598: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). *cur = atoi(&s[j]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:636:17: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). trans.from_v = atoi(&s[j]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:641:15: [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). trans.to_v = atoi(&s[j]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:642: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(trans_ties, &trans, sizeof(struct transition_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:656: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(trans_ties, &trans, sizeof(struct transition_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:712: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 type[50]; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:713: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 prifile_name[500], prifile_name_2[500], prifile_name_3[500], prifile_name_4[500]; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:760: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). modulep->nr_v = atoi(&s[12]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:770:7: [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(modulep->priorfile_name, "null"); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:804: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(modulep->priorfile_name_2, "null"); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:839: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(modulep->priorfile_name_3, "null"); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:874: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(modulep->priorfile_name_4, "null"); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:919:16: [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). from_v = atoi(&s[7]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1013:14: [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). nr_t = atoi(&s[17]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1017:15: [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). nr_et = atoi(&s[21]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1021:14: [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). nr_e = atoi(&s[17]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1026: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). nr_e2 = atoi(&s[17]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1032: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). nr_e3 = atoi(&s[17]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1038: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). nr_e4 = atoi(&s[17]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1045: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). to_v = atoi(&s[8]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1080: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). to_v = atoi(&s[8]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1345: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(temp_pathp + length, &cur_p_el, sizeof(struct path_element)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1358: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(*from_transp, &p_el, sizeof(struct path_element)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1361: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(*from_transp, &cur_p_el, sizeof(struct path_element)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1446: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(*to_transp, &p_el, sizeof(struct path_element)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1451: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(*to_transp, &p_el, sizeof(struct path_element)); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1542: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 s[2048], *p; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1543: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 ps[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1574:23: [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((priorfile = fopen(file_name,"r")) != NULL) { data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1599:45: [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). (emission_priorsp + i)->nr_components = atoi(&ps[0]); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1692: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 s[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:30: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 row[30000]; data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:116: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 line[MAX_LINE], *cur_line; data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:345: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 line[MAX_LINE], *cur_line; data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:717: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((msa_seq_infop->msa_seq_1 + l * (hmmp->a_size + 1))->query_letter, &(cur_letter.letter), data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:834: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((msa_seq_infop->msa_seq_2 + l * (hmmp->a_size_2 + 1))->query_letter, &(cur_letter.letter), data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:956: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((msa_seq_infop->msa_seq_3 + l * (hmmp->a_size_3 + 1))->query_letter, &(cur_letter.letter), data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:1077: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((msa_seq_infop->msa_seq_4 + l * (hmmp->a_size_4 + 1))->query_letter, &(cur_letter.letter), data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:1349: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 s[MAX_LINE]; data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:1457: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). msa_length = atoi(&s[4]); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:1561: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((msa_seq_infop->msa_seq_1 + l * (hmmp->a_size + 1))->query_letter, &(cur_letter.letter), data/libpsortb-1.0+dfsg/modhmm0.92b/std_calculation_funcs.c:1358: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((cur_rowp + *(*(same_labeling_lists + i) + same_labeling_list_indices[i]))->labeling, data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:315: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 s[500]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:329:33: [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). aa_distrib_mtxp->a_size = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:356: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 s[1000]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:377:16: [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). a_size = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:399:25: [2] (integer) atoi: Unless checked, the resulting number can exceed the expected range (CWE-190). If source untrusted, check both minimum and maximum, even if the input had no minus sign (large numbers can roll over into negative number; consider saving to an unsigned value if that is intended). nr_repl_letters = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:454: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 s[1000]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:481:22: [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). nr_alphabets = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:492: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). a_size = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:515:22: [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). nr_repl_letters = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:522:22: [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). nr_repl_letters = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:529:22: [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). nr_repl_letters = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:536:22: [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). nr_repl_letters = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:840: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(loose_labels, labels, seq_len * sizeof(char)); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:902: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 s[1000]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:922:16: [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). a_size = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:992: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 s[1000]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1013:22: [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). nr_alphabets = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1023: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). a_size = atoi(s); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1112: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 s[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1113: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 ps[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1120: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(em_di->name, "default"); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1135:26: [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). em_di->nr_components = atoi(&ps[0]); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1218: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 ps[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1239:12: [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). a_size = atoi(ps); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1273: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 ps[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1294: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). nr_alphabets = atoi(ps); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1309:14: [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). a_size = atoi(ps); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1362: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 s[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1363: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 ps[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1400: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(em_di->name, "default"); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1415:26: [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). em_di->nr_components = atoi(&ps[0]); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1506: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 s[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1507: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 ps[2048]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1548: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(em_di->name, "default"); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1554:22: [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). cur_alphabet = atoi(&ps[9]); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1582:26: [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). em_di->nr_components = atoi(&ps[0]); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1708: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 temp[30]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1726: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 temp[30]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1981: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(reverse_seq + i, seq, sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1985: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(reverse_seq + seq_len, seq, sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2030: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(reverse_seq + i, seq, sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2034: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(reverse_seq + seq_len, seq, sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2068: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(reverse_msa_seq_infop->msa_seq + (i * (a_size + 1)), data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2085: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(reverse_msa_seq_infop->gap_shares + i, msa_seq_infop->gap_shares + j, 1 * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2147: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(reverse_msa_seq_infop->msa_seq_1 + (i * (a_size + 1)), data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2155: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(reverse_msa_seq_infop->msa_seq_2 + (i * (a_size_2 + 1)), data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2164: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(reverse_msa_seq_infop->msa_seq_3 + (i * (a_size_3 + 1)), data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2173: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(reverse_msa_seq_infop->msa_seq_4 + (i * (a_size_4 + 1)), data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2193: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(reverse_msa_seq_infop->gap_shares + i, msa_seq_infop->gap_shares + j, 1 * sizeof(double)); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2214: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 row[30000]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2233: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 row[30000]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2370: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 row[30000]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2399: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 row[30000]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2429: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 row[30000]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2724: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 s[1000]; data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:2740: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). return atoi(&s[17]); data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:140:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[100]; /* name of the HMM */ data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:142: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 alphabet[1000]; /* the alphabet */ data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:210:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[100]; /* name of the HMM */ data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:213: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 alphabet[1000]; /* the alphabet */ data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:214: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 alphabet_2[1000]; /* the alphabet */ data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:215: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 alphabet_3[1000]; /* the alphabet */ data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:216: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 alphabet_4[1000]; /* the alphabet */ data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:327: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 alphabet[1000]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:342: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 alphabet[1000]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:343: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 alphabet_2[1000]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:344: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 alphabet_3[1000]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:345: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 alphabet_4[1000]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:359:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[50]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:364: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 priorfile_name[200]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:373:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[50]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:378: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 priorfile_name[200]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:379: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 priorfile_name_2[200]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:380: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 priorfile_name_3[200]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:381: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 priorfile_name_4[200]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:389:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[200]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:467: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 letter[5]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:477:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[MAX_SEQ_NAME_SIZE]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:488:3: [2] (buffer) char: Statically-sized arrays can be improperly restricted, leading to potential overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length. char name[MAX_SEQ_NAME_SIZE]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:535: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 query_letter[5]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:642: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 target_letter[5]; data/libpsortb-1.0+dfsg/modhmm0.92b/structs.h:643: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 template_letter[5]; data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c:187: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(seq+1, (seqsp + s)->seq_1, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c:190: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(seq_2+1, (seqsp + s)->seq_2, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c:194: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(seq_3+1, (seqsp + s)->seq_3, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c:198: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(seq_4+1, (seqsp + s)->seq_4, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c:1038: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(seq+1, (seqsp + s)->seq_1, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c:1041: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(seq_2+1, (seqsp + s)->seq_2, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c:1045: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(seq_3+1, (seqsp + s)->seq_3, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/modhmm0.92b/training_algorithms_multialpha.c:1049: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(seq_4+1, (seqsp + s)->seq_4, seq_len * sizeof(struct letter_s)); data/libpsortb-1.0+dfsg/svmloc/svmloc.cpp:39: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(address,attributes,sizeof(struct svm_node)*(n+1)); data/libpsortb-1.0+dfsg/svmloc/svmloc.cpp:50: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(address,attributes,sizeof(struct svm_node)*(n+1)); data/libpsortb-1.0+dfsg/svmloc/svmloc.cpp:305:10: [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). infile.open(filename, ifstream::in); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:648:7: [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(modulep->priorfile_name, "\0"); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm.c:1183:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). Risk is low because the source is a constant character. strncpy(p, " ", 1); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:775:7: [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(modulep->priorfile_name, "\0"); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:809: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(modulep->priorfile_name_2, "\0"); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:844: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(modulep->priorfile_name_3, "\0"); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:879: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(modulep->priorfile_name_4, "\0"); data/libpsortb-1.0+dfsg/modhmm0.92b/readhmm_multialpha.c:1553:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). Risk is low because the source is a constant character. strncpy(p, " ", 1); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:65: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). nr_letters = strlen(seq); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:139:14: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((i = fgetc(seqfile)) != EOF) { data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:251:16: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = (char)(fgetc(seqfile)); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:255:20: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((c = (char)(fgetc(seqfile))) != '\n') { data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:261:25: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((c = (char)(fgetc(seqfile))) != '>') { data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:279:7: [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((seq_infop->seqs + seq_nr)->name, "\0"); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:307:7: [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((seq_infop->seqs + seq_nr)->name, "\0"); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:365:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). i = fgetc(seqfile); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:451:15: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = (char)fgetc(seqfile); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:475:15: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = (char)fgetc(seqfile); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:608:9: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). i = fgetc(seqfile); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:675:24: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((c = (char)fgetc(seqfile)) != ';') { data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:734:11: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). i = fgetc(seqfile); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:798:19: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((c = (char)fgetc(seqfile)) != ';') { data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:854:11: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). i = fgetc(seqfile); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:920:19: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((c = (char)fgetc(seqfile)) != ';') { data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:975:11: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). i = fgetc(seqfile); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:1041:19: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((c = (char)fgetc(seqfile)) != ';') { data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:1238:15: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = (char)fgetc(seqfile); data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:1262:24: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((c = (char)fgetc(seqfile)) != ';') { data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:1268:24: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). while((c = (char)fgetc(seqfile)) != ';') { data/libpsortb-1.0+dfsg/modhmm0.92b/readseqs_multialpha.c:1437:15: [1] (buffer) fgetc: Check buffer boundaries if used in a loop including recursive loops (CWE-120, CWE-20). c = (char)fgetc(seqfile); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1712:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(s, temp, dec); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1717:5: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(s+1, temp, dec); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1739:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(s+pos, temp, prec); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1743:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(s, temp, dec); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1745:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(s+dec+1, temp+dec, prec); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1759:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(s+pos, temp, prec); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1764:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(s+1, temp, dec); data/libpsortb-1.0+dfsg/modhmm0.92b/std_funcs.c:1766:7: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(s+dec+2, temp+dec, prec); ANALYSIS SUMMARY: Hits = 333 Lines analyzed = 20681 in approximately 0.64 seconds (32543 lines/second) Physical Source Lines of Code (SLOC) = 17175 Hits@level = [0] 854 [1] 37 [2] 257 [3] 2 [4] 37 [5] 0 Hits@level+ = [0+] 1187 [1+] 333 [2+] 296 [3+] 39 [4+] 37 [5+] 0 Hits/KSLOC@level+ = [0+] 69.1121 [1+] 19.3886 [2+] 17.2344 [3+] 2.27074 [4+] 2.15429 [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.