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/python-sabyenc-4.0.2/src/sabyenc3.c Examining data/python-sabyenc-4.0.2/src/sabyenc3.h FINAL RESULTS: data/python-sabyenc-4.0.2/src/sabyenc3.c:399:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(search_placeholder, *cur_char); data/python-sabyenc-4.0.2/src/sabyenc3.c:410:13: [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(search_placeholder, next_string); data/python-sabyenc-4.0.2/src/sabyenc3.c:476:9: [4] (buffer) strcpy: Does not check for buffer overflows when copying to destination [MS-banned] (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy easily misused). strcpy(combi_holder, *start_loc); data/python-sabyenc-4.0.2/src/sabyenc3.c:480:9: [4] (buffer) strcat: Does not check for buffer overflows when concatenating to destination [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or snprintf (warning: strncat is easily misused). strcat(combi_holder, item_holder); data/python-sabyenc-4.0.2/src/sabyenc3.c:397:19: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). cur_len = strlen(*cur_char)+1; data/python-sabyenc-4.0.2/src/sabyenc3.c:408:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). cur_len = cur_len + strlen(next_string); data/python-sabyenc-4.0.2/src/sabyenc3.c:423:73: [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). start_index = (int)(start_loc - search_placeholder) - (int)(strlen(search_placeholder) - strlen(next_string)); data/python-sabyenc-4.0.2/src/sabyenc3.c:423:102: [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). start_index = (int)(start_loc - search_placeholder) - (int)(strlen(search_placeholder) - strlen(next_string)); data/python-sabyenc-4.0.2/src/sabyenc3.c:425:54: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). if(start_index < 0 || start_index > (int)strlen(next_string)) { data/python-sabyenc-4.0.2/src/sabyenc3.c:441:22: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). start_loc += strlen(search_term); data/python-sabyenc-4.0.2/src/sabyenc3.c:475:40: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). combi_holder = (char *) calloc(strlen(*start_loc)+1, sizeof(char *)); data/python-sabyenc-4.0.2/src/sabyenc3.c:479:55: [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). combi_holder = (char *) realloc(combi_holder, strlen(*start_loc)+strlen(item_holder)+1); data/python-sabyenc-4.0.2/src/sabyenc3.c:479:74: [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). combi_holder = (char *) realloc(combi_holder, strlen(*start_loc)+strlen(item_holder)+1); data/python-sabyenc-4.0.2/src/sabyenc3.c:523:17: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(*filename_ptr, *start_loc, end_loc - *start_loc + 1); data/python-sabyenc-4.0.2/src/sabyenc3.c:525:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). (*filename_ptr)[strlen(*filename_ptr)] = ZERO; data/python-sabyenc-4.0.2/src/sabyenc3.c:540:64: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). *filename_ptr = (char *)realloc(*filename_ptr, strlen(*filename_ptr) + end_loc - *start_loc + 2); data/python-sabyenc-4.0.2/src/sabyenc3.c:544:17: [1] (buffer) strncat: Easily used incorrectly (e.g., incorrectly computing the correct maximum size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf, or automatically resizing strings. strncat(*filename_ptr, *start_loc, end_loc - *start_loc + 1); data/python-sabyenc-4.0.2/src/sabyenc3.c:546:33: [1] (buffer) strlen: Does not handle strings that are not \0-terminated; if given one it may perform an over-read (it could cause a crash if unprotected) (CWE-126). (*filename_ptr)[strlen(*filename_ptr)] = ZERO; data/python-sabyenc-4.0.2/src/sabyenc3.c:633:71: [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). Py_output_filename = PyUnicode_DecodeLatin1((char *)filename_out, strlen((char *)filename_out), NULL); ANALYSIS SUMMARY: Hits = 19 Lines analyzed = 804 in approximately 0.07 seconds (11648 lines/second) Physical Source Lines of Code (SLOC) = 482 Hits@level = [0] 0 [1] 15 [2] 0 [3] 0 [4] 4 [5] 0 Hits@level+ = [0+] 19 [1+] 19 [2+] 4 [3+] 4 [4+] 4 [5+] 0 Hits/KSLOC@level+ = [0+] 39.4191 [1+] 39.4191 [2+] 8.29876 [3+] 8.29876 [4+] 8.29876 [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.