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-2018.1.1/pycuda/compyte/ndarray/pygpu_ndarray_object.h Examining data/pycuda-2018.1.1/pycuda/compyte/ndarray/gpu_ndarray.h Examining data/pycuda-2018.1.1/pycuda/compyte/ndarray/pygpu_language_opencl.cpp Examining data/pycuda-2018.1.1/pycuda/compyte/ndarray/pygpu_ndarray.h Examining data/pycuda-2018.1.1/pycuda/compyte/ndarray/pygpu_language.h Examining data/pycuda-2018.1.1/pycuda/compyte/ndarray/pygpu_ndarray.cpp Examining data/pycuda-2018.1.1/pycuda/cuda/pycuda-complex.hpp Examining data/pycuda-2018.1.1/pycuda/cuda/pycuda-complex-impl.hpp Examining data/pycuda-2018.1.1/pycuda/cuda/pycuda-helpers.hpp Examining data/pycuda-2018.1.1/src/cpp/cuda.hpp Examining data/pycuda-2018.1.1/src/cpp/cuda.cpp Examining data/pycuda-2018.1.1/src/cpp/mempool.hpp Examining data/pycuda-2018.1.1/src/cpp/bitlog.hpp Examining data/pycuda-2018.1.1/src/cpp/curand.hpp Examining data/pycuda-2018.1.1/src/cpp/cuda_gl.hpp Examining data/pycuda-2018.1.1/src/cpp/bitlog.cpp Examining data/pycuda-2018.1.1/src/wrapper/_pvt_struct_v2.cpp Examining data/pycuda-2018.1.1/src/wrapper/numpy_init.hpp Examining data/pycuda-2018.1.1/src/wrapper/wrap_curand.cpp Examining data/pycuda-2018.1.1/src/wrapper/wrap_cudadrv.cpp Examining data/pycuda-2018.1.1/src/wrapper/wrap_helpers.hpp Examining data/pycuda-2018.1.1/src/wrapper/mempool.cpp Examining data/pycuda-2018.1.1/src/wrapper/wrap_cudagl.cpp Examining data/pycuda-2018.1.1/src/wrapper/tools.hpp Examining data/pycuda-2018.1.1/src/wrapper/_pvt_struct_v3.cpp FINAL RESULTS: data/pycuda-2018.1.1/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-2018.1.1/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-2018.1.1/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-2018.1.1/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-2018.1.1/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-2018.1.1/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-2018.1.1/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-2018.1.1/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-2018.1.1/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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:425: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:433: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:441: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:449: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:463: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:471: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:486: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:496: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:508: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:517: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:525: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:533: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:534: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:542: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:543: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:551: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:611: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:628: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:644: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:660: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:670: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:680: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:692: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:702: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:713: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:726: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:739: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:752: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:781: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:782: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:796: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:824: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:825: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:843: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:1229: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:1238: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-2018.1.1/src/wrapper/_pvt_struct_v2.cpp:1251: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:376: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:384: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:392: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:400: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:414: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:422: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:432: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:440: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:454: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:464: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:476: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:485: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:493: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:501: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:502: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:510: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:511: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:519: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:579: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:596: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:612: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:628: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:638: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:648: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:658: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:668: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:680: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:690: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:705: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:718: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:731: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:744: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:759: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:760: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:774: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:788: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:789: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:808: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:1233: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:1241: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:1253: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-2018.1.1/src/wrapper/_pvt_struct_v3.cpp:1281: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-2018.1.1/src/wrapper/wrap_cudadrv.cpp:361: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-2018.1.1/src/wrapper/wrap_cudadrv.cpp:424: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-2018.1.1/src/wrapper/wrap_cudadrv.cpp:425: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-2018.1.1/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 = 12676 in approximately 0.29 seconds (44470 lines/second) Physical Source Lines of Code (SLOC) = 9884 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.3549 [1+] 9.30797 [2+] 9.2068 [3+] 0.101174 [4+] 0.101174 [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.