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.