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/pycuda-2019.1.2/pycuda/compyte/ndarray/gpu_ndarray.h
Examining data/pycuda-2019.1.2/pycuda/compyte/ndarray/pygpu_language.h
Examining data/pycuda-2019.1.2/pycuda/compyte/ndarray/pygpu_language_opencl.cpp
Examining data/pycuda-2019.1.2/pycuda/compyte/ndarray/pygpu_ndarray.cpp
Examining data/pycuda-2019.1.2/pycuda/compyte/ndarray/pygpu_ndarray.h
Examining data/pycuda-2019.1.2/pycuda/compyte/ndarray/pygpu_ndarray_object.h
Examining data/pycuda-2019.1.2/pycuda/cuda/pycuda-complex-impl.hpp
Examining data/pycuda-2019.1.2/pycuda/cuda/pycuda-complex.hpp
Examining data/pycuda-2019.1.2/pycuda/cuda/pycuda-helpers.hpp
Examining data/pycuda-2019.1.2/src/cpp/bitlog.cpp
Examining data/pycuda-2019.1.2/src/cpp/bitlog.hpp
Examining data/pycuda-2019.1.2/src/cpp/cuda.cpp
Examining data/pycuda-2019.1.2/src/cpp/cuda.hpp
Examining data/pycuda-2019.1.2/src/cpp/cuda_gl.hpp
Examining data/pycuda-2019.1.2/src/cpp/curand.hpp
Examining data/pycuda-2019.1.2/src/cpp/mempool.hpp
Examining data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp
Examining data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp
Examining data/pycuda-2019.1.2/src/wrapper/mempool.cpp
Examining data/pycuda-2019.1.2/src/wrapper/tools.hpp
Examining data/pycuda-2019.1.2/src/wrapper/wrap_cudadrv.cpp
Examining data/pycuda-2019.1.2/src/wrapper/wrap_cudagl.cpp
Examining data/pycuda-2019.1.2/src/wrapper/wrap_curand.cpp
Examining data/pycuda-2019.1.2/src/wrapper/wrap_helpers.hpp

FINAL RESULTS:

data/pycuda-2019.1.2/pycuda/compyte/ndarray/pygpu_language.h:23:26:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define DPRINTF(args...) fprintf(stderr, args)
data/pycuda-2019.1.2/pycuda/compyte/ndarray/pygpu_language_opencl.cpp:251: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 local_kern[92];
data/pycuda-2019.1.2/pycuda/compyte/ndarray/pygpu_language_opencl.cpp:252: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.
  const char *rlk[1];
data/pycuda-2019.1.2/src/cpp/cuda.hpp:430: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 buffer[1024];
data/pycuda-2019.1.2/src/cpp/cuda.hpp:438: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 buffer[1024];
data/pycuda-2019.1.2/src/cpp/curand.hpp:66:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy((unsigned int *)buf+n*20000*sizeof(curandDirectionVectors32_t)/sizeof(unsigned int), vectors, size);
data/pycuda-2019.1.2/src/cpp/curand.hpp:78:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy((unsigned long long *)buf+n*20000*sizeof(curandDirectionVectors64_t)/sizeof(unsigned long long), vectors, size);
data/pycuda-2019.1.2/src/cpp/curand.hpp:104: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((unsigned int *)buf+n*20000, vectors, size);
data/pycuda-2019.1.2/src/cpp/curand.hpp:126: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((unsigned long long *)buf+n*20000, vectors, size);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:427: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:435: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:443: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:451: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:465: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:473: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:488: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:498: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:510: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:527: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:535: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((char *)&re, p, sizeof re);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:536: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((char *)&im, p+sizeof re, sizeof im);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:544: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((char *)&re, p, sizeof re);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:545: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((char *)&im, p+sizeof re, sizeof im);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:553: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:613:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&y, sizeof y);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:630:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&y, sizeof y);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:646:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&y, sizeof y);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:662:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&y, sizeof y);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:672:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:682:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:694:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:704:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:715:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&y, sizeof y);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:728:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:741:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&x, sizeof(double));
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:754:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(p, PyArray_DATA(v_cast), PyArray_NBYTES(v_cast));
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:783:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(p, (char *)&re, sizeof re);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:784:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(p+sizeof re, (char *)&im, sizeof im);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:798:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(p, PyArray_DATA(v_cast), PyArray_NBYTES(v_cast));
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:826:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(p, (char *)&re, sizeof re);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:827:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(p+sizeof re, (char *)&im, sizeof im);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:845:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:1231: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(res, buf, len);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:1240:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
					memcpy(res, PyString_AS_STRING(v), n);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v2.cpp:1253: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(res + 1, PyString_AS_STRING(v), n);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:378: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:386: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:394: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:402: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:416: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:424: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:434: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:442: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:456: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:466: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:478: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:487: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:495: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:503: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((char *)&re, p, sizeof re);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:504: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((char *)&im, p+sizeof re, sizeof im);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:512: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((char *)&re, p, sizeof re);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:513: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((char *)&im, p+sizeof re, sizeof im);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:521: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((char *)&x, p, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:581:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&y, sizeof y);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:598:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&y, sizeof y);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:614:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&y, sizeof y);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:630:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&y, sizeof y);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:640:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:650:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:660:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:670:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:682:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:692:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:707:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:720:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:733:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&x, sizeof(double));
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:746:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(p, PyArray_DATA(v_cast), PyArray_NBYTES(v_cast));
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:761:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(p, (char *)&re, sizeof re);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:762:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(p+sizeof re, (char *)&im, sizeof im);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:776:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(p, PyArray_DATA(v_cast), PyArray_NBYTES(v_cast));
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:790:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(p, (char *)&re, sizeof re);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:791:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(p+sizeof re, (char *)&im, sizeof im);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:810:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(p, (char *)&x, sizeof x);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:1235:21:  [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(res, p, n);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:1243:21:  [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(res, p, n);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:1255:21:  [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(res, view.buf, n);
data/pycuda-2019.1.2/src/wrapper/_pvt_struct_v3.cpp:1283:17:  [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(res + 1, p, n);
data/pycuda-2019.1.2/src/wrapper/wrap_cudadrv.cpp:363: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 info_buf[buf_size], error_buf[buf_size];
data/pycuda-2019.1.2/src/wrapper/wrap_cudadrv.cpp:426:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      char m_info_buf[32768];
data/pycuda-2019.1.2/src/wrapper/wrap_cudadrv.cpp:427:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      char m_error_buf[32768];
data/pycuda-2019.1.2/pycuda/compyte/ndarray/pygpu_language_opencl.cpp:275:8:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  sz = strlen(local_kern);

ANALYSIS SUMMARY:

Hits = 92
Lines analyzed = 12669 in approximately 0.31 seconds (41302 lines/second)
Physical Source Lines of Code (SLOC) = 9880
Hits@level = [0]  40 [1]   1 [2]  90 [3]   0 [4]   1 [5]   0
Hits@level+ = [0+] 132 [1+]  92 [2+]  91 [3+]   1 [4+]   1 [5+]   0
Hits/KSLOC@level+ = [0+] 13.3603 [1+] 9.31174 [2+] 9.21053 [3+] 0.101215 [4+] 0.101215 [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.