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/spfft-0.9.13/examples/example.c
Examining data/spfft-0.9.13/examples/example.cpp
Examining data/spfft-0.9.13/include/spfft/errors.h
Examining data/spfft-0.9.13/include/spfft/exceptions.hpp
Examining data/spfft-0.9.13/include/spfft/grid.h
Examining data/spfft-0.9.13/include/spfft/grid.hpp
Examining data/spfft-0.9.13/include/spfft/grid_float.h
Examining data/spfft-0.9.13/include/spfft/grid_float.hpp
Examining data/spfft-0.9.13/include/spfft/multi_transform.h
Examining data/spfft-0.9.13/include/spfft/multi_transform.hpp
Examining data/spfft-0.9.13/include/spfft/multi_transform_float.h
Examining data/spfft-0.9.13/include/spfft/multi_transform_float.hpp
Examining data/spfft-0.9.13/include/spfft/spfft.h
Examining data/spfft-0.9.13/include/spfft/spfft.hpp
Examining data/spfft-0.9.13/include/spfft/transform.h
Examining data/spfft-0.9.13/include/spfft/transform.hpp
Examining data/spfft-0.9.13/include/spfft/transform_float.h
Examining data/spfft-0.9.13/include/spfft/transform_float.hpp
Examining data/spfft-0.9.13/include/spfft/types.h
Examining data/spfft-0.9.13/src/compression/compression_gpu.hpp
Examining data/spfft-0.9.13/src/compression/compression_host.hpp
Examining data/spfft-0.9.13/src/compression/gpu_kernels/compression_kernels.hpp
Examining data/spfft-0.9.13/src/compression/indices.hpp
Examining data/spfft-0.9.13/src/execution/execution_gpu.cpp
Examining data/spfft-0.9.13/src/execution/execution_gpu.hpp
Examining data/spfft-0.9.13/src/execution/execution_host.cpp
Examining data/spfft-0.9.13/src/execution/execution_host.hpp
Examining data/spfft-0.9.13/src/fft/fftw_mutex.cpp
Examining data/spfft-0.9.13/src/fft/fftw_mutex.hpp
Examining data/spfft-0.9.13/src/fft/fftw_plan_1d.hpp
Examining data/spfft-0.9.13/src/fft/fftw_real_plan_1d.hpp
Examining data/spfft-0.9.13/src/fft/transform_1d_gpu.hpp
Examining data/spfft-0.9.13/src/fft/transform_1d_host.hpp
Examining data/spfft-0.9.13/src/fft/transform_2d_gpu.hpp
Examining data/spfft-0.9.13/src/fft/transform_interface.hpp
Examining data/spfft-0.9.13/src/fft/transform_real_1d_host.hpp
Examining data/spfft-0.9.13/src/fft/transform_real_2d_gpu.hpp
Examining data/spfft-0.9.13/src/gpu_util/gpu_device_guard.hpp
Examining data/spfft-0.9.13/src/gpu_util/gpu_event_handle.hpp
Examining data/spfft-0.9.13/src/gpu_util/gpu_fft_api.cpp
Examining data/spfft-0.9.13/src/gpu_util/gpu_fft_api.hpp
Examining data/spfft-0.9.13/src/gpu_util/gpu_kernel_parameter.hpp
Examining data/spfft-0.9.13/src/gpu_util/gpu_pointer_translation.hpp
Examining data/spfft-0.9.13/src/gpu_util/gpu_runtime.hpp
Examining data/spfft-0.9.13/src/gpu_util/gpu_runtime_api.hpp
Examining data/spfft-0.9.13/src/gpu_util/gpu_stream_handle.hpp
Examining data/spfft-0.9.13/src/gpu_util/gpu_transfer.hpp
Examining data/spfft-0.9.13/src/memory/aligned_allocation.cpp
Examining data/spfft-0.9.13/src/memory/aligned_allocation.hpp
Examining data/spfft-0.9.13/src/memory/array_view_utility.hpp
Examining data/spfft-0.9.13/src/memory/gpu_array.hpp
Examining data/spfft-0.9.13/src/memory/gpu_array_const_view.hpp
Examining data/spfft-0.9.13/src/memory/gpu_array_view.hpp
Examining data/spfft-0.9.13/src/memory/host_array.hpp
Examining data/spfft-0.9.13/src/memory/host_array_const_view.hpp
Examining data/spfft-0.9.13/src/memory/host_array_view.hpp
Examining data/spfft-0.9.13/src/memory/memory_type_trait.hpp
Examining data/spfft-0.9.13/src/mpi_util/mpi_check_status.hpp
Examining data/spfft-0.9.13/src/mpi_util/mpi_communicator_handle.hpp
Examining data/spfft-0.9.13/src/mpi_util/mpi_datatype_handle.hpp
Examining data/spfft-0.9.13/src/mpi_util/mpi_init_handle.hpp
Examining data/spfft-0.9.13/src/mpi_util/mpi_match_elementary_type.hpp
Examining data/spfft-0.9.13/src/mpi_util/mpi_request_handle.hpp
Examining data/spfft-0.9.13/src/parameters/parameters.cpp
Examining data/spfft-0.9.13/src/parameters/parameters.hpp
Examining data/spfft-0.9.13/src/spfft/grid.cpp
Examining data/spfft-0.9.13/src/spfft/grid_float.cpp
Examining data/spfft-0.9.13/src/spfft/grid_internal.cpp
Examining data/spfft-0.9.13/src/spfft/grid_internal.hpp
Examining data/spfft-0.9.13/src/spfft/multi_transform.cpp
Examining data/spfft-0.9.13/src/spfft/multi_transform_float.cpp
Examining data/spfft-0.9.13/src/spfft/multi_transform_internal.hpp
Examining data/spfft-0.9.13/src/spfft/transform.cpp
Examining data/spfft-0.9.13/src/spfft/transform_float.cpp
Examining data/spfft-0.9.13/src/spfft/transform_internal.cpp
Examining data/spfft-0.9.13/src/spfft/transform_internal.hpp
Examining data/spfft-0.9.13/src/symmetry/gpu_kernels/symmetry_kernels.hpp
Examining data/spfft-0.9.13/src/symmetry/symmetry.hpp
Examining data/spfft-0.9.13/src/symmetry/symmetry_gpu.hpp
Examining data/spfft-0.9.13/src/symmetry/symmetry_host.hpp
Examining data/spfft-0.9.13/src/timing/rt_graph.cpp
Examining data/spfft-0.9.13/src/timing/rt_graph.hpp
Examining data/spfft-0.9.13/src/timing/timing.cpp
Examining data/spfft-0.9.13/src/timing/timing.hpp
Examining data/spfft-0.9.13/src/transpose/gpu_kernels/buffered_kernels.hpp
Examining data/spfft-0.9.13/src/transpose/gpu_kernels/compact_buffered_kernels.hpp
Examining data/spfft-0.9.13/src/transpose/gpu_kernels/local_transpose_kernels.hpp
Examining data/spfft-0.9.13/src/transpose/transpose.hpp
Examining data/spfft-0.9.13/src/transpose/transpose_gpu.hpp
Examining data/spfft-0.9.13/src/transpose/transpose_host.hpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_buffered_gpu.cpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_buffered_gpu.hpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_buffered_host.cpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_buffered_host.hpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_compact_buffered_gpu.cpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_compact_buffered_gpu.hpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_compact_buffered_host.cpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_compact_buffered_host.hpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_unbuffered_gpu.cpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_unbuffered_gpu.hpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_unbuffered_host.cpp
Examining data/spfft-0.9.13/src/transpose/transpose_mpi_unbuffered_host.hpp
Examining data/spfft-0.9.13/src/util/common_types.hpp
Examining data/spfft-0.9.13/src/util/omp_definitions.hpp
Examining data/spfft-0.9.13/src/util/type_check.hpp
Examining data/spfft-0.9.13/tests/local_tests/test_disjoint.cpp
Examining data/spfft-0.9.13/tests/local_tests/test_host_array.cpp
Examining data/spfft-0.9.13/tests/local_tests/test_local_transform.cpp
Examining data/spfft-0.9.13/tests/mpi_tests/test_multi_transform.cpp
Examining data/spfft-0.9.13/tests/mpi_tests/test_transform.cpp
Examining data/spfft-0.9.13/tests/mpi_tests/test_transpose.cpp
Examining data/spfft-0.9.13/tests/mpi_tests/test_transpose_gpu.cpp
Examining data/spfft-0.9.13/tests/programs/benchmark.cpp
Examining data/spfft-0.9.13/tests/run_local_tests.cpp
Examining data/spfft-0.9.13/tests/run_mpi_tests.cpp
Examining data/spfft-0.9.13/tests/test_util/generate_indices.hpp
Examining data/spfft-0.9.13/tests/test_util/test_check_values.hpp
Examining data/spfft-0.9.13/tests/test_util/test_transform.hpp

FINAL RESULTS:

data/spfft-0.9.13/src/gpu_util/gpu_runtime_api.hpp:179: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.
inline auto memcpy(ARGS&&... args) -> StatusType {
data/spfft-0.9.13/src/gpu_util/gpu_transfer.hpp:49:26:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  gpu::check_status(gpu::memcpy(
data/spfft-0.9.13/src/gpu_util/gpu_transfer.hpp:78:26:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  gpu::check_status(gpu::memcpy(

ANALYSIS SUMMARY:

Hits = 3
Lines analyzed = 18143 in approximately 0.53 seconds (34076 lines/second)
Physical Source Lines of Code (SLOC) = 11028
Hits@level = [0]   9 [1]   0 [2]   3 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]  12 [1+]   3 [2+]   3 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 1.08814 [1+] 0.272035 [2+] 0.272035 [3+]   0 [4+]   0 [5+]   0
Dot directories skipped = 2 (--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.