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/uvloop-0.14.0+ds1/uvloop/includes/fork_handler.h
Examining data/uvloop-0.14.0+ds1/uvloop/includes/debug.h
Examining data/uvloop-0.14.0+ds1/uvloop/includes/compat.h
Examining data/uvloop-0.14.0+ds1/uvloop/loop.c

FINAL RESULTS:

data/uvloop-0.14.0+ds1/uvloop/loop.c:800: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(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c);
data/uvloop-0.14.0+ds1/uvloop/loop.c:167270:18:  [3] (random) setstate:
  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.
            if (!setstate) PyErr_Clear();
data/uvloop-0.14.0+ds1/uvloop/loop.c:167271:18:  [3] (random) setstate:
  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.
            if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
data/uvloop-0.14.0+ds1/uvloop/loop.c:167271:58:  [3] (random) setstate:
  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.
            if (!setstate || __Pyx_setup_reduce_is_named(setstate, __pyx_n_s_setstate_cython)) {
data/uvloop-0.14.0+ds1/uvloop/loop.c:167292:16:  [3] (random) setstate:
  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.
    Py_XDECREF(setstate);
data/uvloop-0.14.0+ds1/uvloop/loop.c:753:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char ascii_chars[128];
data/uvloop-0.14.0+ds1/uvloop/loop.c:1208: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 _recv_buffer[0x3E800];
data/uvloop-0.14.0+ds1/uvloop/loop.c:3180:15:  [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).
  PyObject *(*open)(struct __pyx_obj_6uvloop_4loop_UDPTransport *, int, int);
data/uvloop-0.14.0+ds1/uvloop/loop.c:50945:148:  [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).
    __pyx_t_4 = ((struct __pyx_vtabstruct_6uvloop_4loop_UDPTransport *)__pyx_cur_scope->__pyx_v_udp->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->open(__pyx_cur_scope->__pyx_v_udp, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(2, 2969, __pyx_L1_error)
data/uvloop-0.14.0+ds1/uvloop/loop.c:85765:56:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      (__pyx_v_p_uvbufs[__pyx_v_uv_bufs_idx]).base = ((char *)(__pyx_v_p_pybufs[__pyx_v_py_bufs_len]).buf);
data/uvloop-0.14.0+ds1/uvloop/loop.c:106468:75:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    __pyx_t_7 = PyBytes_AsString(__pyx_v_el); if (unlikely(__pyx_t_7 == ((char *)NULL))) __PYX_ERR(6, 234, __pyx_L1_error)
data/uvloop-0.14.0+ds1/uvloop/loop.c:116738: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 __pyx_v_buf[0x80];
data/uvloop-0.14.0+ds1/uvloop/loop.c:117298:12:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    (void)(memcpy(__pyx_v_res, (&__pyx_v_ret->addr), __pyx_v_ret->addr_size));
data/uvloop-0.14.0+ds1/uvloop/loop.c:118404:12:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    (void)(memcpy(((struct sockaddr_un *)(&__pyx_v_ret->addr))->sun_path, __pyx_v_buf, __pyx_v_buflen));
data/uvloop-0.14.0+ds1/uvloop/loop.c:118479:10:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  (void)(memcpy(__pyx_v_res, (&__pyx_v_ret->addr), __pyx_v_ret->addr_size));
data/uvloop-0.14.0+ds1/uvloop/loop.c:164831:13:  [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((char *)result_udata + char_pos * result_ukind, udata, (size_t) (ulength * result_ukind));
data/uvloop-0.14.0+ds1/uvloop/loop.c:166760:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char DIGIT_PAIRS_10[2*10*10+1] = {
data/uvloop-0.14.0+ds1/uvloop/loop.c:166772:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char DIGIT_PAIRS_8[2*8*8+1] = {
data/uvloop-0.14.0+ds1/uvloop/loop.c:166782:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const char DIGITS_HEX[2*16+1] = {
data/uvloop-0.14.0+ds1/uvloop/loop.c:166877:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char digits[sizeof(Py_ssize_t)*3+2];
data/uvloop-0.14.0+ds1/uvloop/loop.c:166966:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char digits[sizeof(int)*3+2];
data/uvloop-0.14.0+ds1/uvloop/loop.c:167304:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char warning[200];
data/uvloop-0.14.0+ds1/uvloop/loop.c:169576:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char ctversion[4], rtversion[4];
data/uvloop-0.14.0+ds1/uvloop/loop.c:169580:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char message[200];
data/uvloop-0.14.0+ds1/uvloop/loop.c:677:87:  [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).
#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
data/uvloop-0.14.0+ds1/uvloop/loop.c:798:52:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1);
data/uvloop-0.14.0+ds1/uvloop/loop.c:7608:51:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  __pyx_t_2 = __Pyx_decode_c_string(__pyx_t_1, 0, strlen(__pyx_t_1), NULL, NULL, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 2, __pyx_L1_error)
data/uvloop-0.14.0+ds1/uvloop/loop.c:8732:53:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    __pyx_t_2 = __Pyx_decode_c_string(__pyx_t_5, 0, strlen(__pyx_t_5), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(1, 110, __pyx_L1_error)
data/uvloop-0.14.0+ds1/uvloop/loop.c:72868:62:  [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).
    __pyx_t_7 = __Pyx_decode_c_string(__pyx_v_handle_ctx, 0, strlen(__pyx_v_handle_ctx), NULL, NULL, PyUnicode_DecodeLatin1); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 322, __pyx_L1_error)
data/uvloop-0.14.0+ds1/uvloop/loop.c:72976:62:  [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).
    __pyx_t_7 = __Pyx_decode_c_string(__pyx_v_handle_ctx, 0, strlen(__pyx_v_handle_ctx), NULL, NULL, PyUnicode_DecodeLatin1); if (unlikely(!__pyx_t_7)) __PYX_ERR(4, 331, __pyx_L1_error)
data/uvloop-0.14.0+ds1/uvloop/loop.c:120338:53:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    __pyx_t_4 = __Pyx_decode_c_string(__pyx_t_5, 0, strlen(__pyx_t_5), NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_4)) __PYX_ERR(7, 324, __pyx_L1_error)
data/uvloop-0.14.0+ds1/uvloop/loop.c:162011:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        size_t slen = strlen(cstring);
data/uvloop-0.14.0+ds1/uvloop/loop.c:169624:65:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str));

ANALYSIS SUMMARY:

Hits = 33
Lines analyzed = 170004 in approximately 4.27 seconds (39796 lines/second)
Physical Source Lines of Code (SLOC) = 97379
Hits@level = [0]   0 [1]   9 [2]  19 [3]   4 [4]   1 [5]   0
Hits@level+ = [0+]  33 [1+]  33 [2+]  24 [3+]   5 [4+]   1 [5+]   0
Hits/KSLOC@level+ = [0+] 0.338882 [1+] 0.338882 [2+] 0.24646 [3+] 0.0513458 [4+] 0.0102692 [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.