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.