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/libips4o-0.0+git20190618.2206938/ips4o.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/base_case.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/block_permutation.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/bucket_pointers.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/buffers.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/classifier.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/cleanup_margins.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/config.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/empty_block_movement.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/ips4o.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/ips4o_fwd.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/local_classification.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/memory.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/parallel.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/partitioning.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/sampling.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/sequential.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/synchronization.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/thread_pool.hpp
Examining data/libips4o-0.0+git20190618.2206938/ips4o/utils.hpp

FINAL RESULTS:

data/libips4o-0.0+git20190618.2206938/ips4o/block_permutation.hpp:68:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    diff_t write, read;
data/libips4o-0.0+git20190618.2206938/ips4o/block_permutation.hpp:69:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::tie(write, read) = bp.template decRead<kIsParallel>();
data/libips4o-0.0+git20190618.2206938/ips4o/block_permutation.hpp:71:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (read < write) {
data/libips4o-0.0+git20190618.2206938/ips4o/block_permutation.hpp:78:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    local_.swap[0].readFrom(begin_ + read);
data/libips4o-0.0+git20190618.2206938/ips4o/block_permutation.hpp:91:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    diff_t write, read;
data/libips4o-0.0+git20190618.2206938/ips4o/block_permutation.hpp:95:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        std::tie(write, read) = bp.template incWrite<kIsParallel>();
data/libips4o-0.0+git20190618.2206938/ips4o/block_permutation.hpp:96:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (write > read) {

ANALYSIS SUMMARY:

Hits = 7
Lines analyzed = 3210 in approximately 0.25 seconds (12784 lines/second)
Physical Source Lines of Code (SLOC) = 1640
Hits@level = [0]   0 [1]   7 [2]   0 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]   7 [1+]   7 [2+]   0 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 4.26829 [1+] 4.26829 [2+]   0 [3+]   0 [4+]   0 [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.