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.