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/pikepdf-1.17.3+dfsg/src/qpdf/annotation.cpp
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/gsl.h
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/mmap_inputsource.h
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/object.cpp
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/object_convert.cpp
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/object_parsers.h
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/object_repr.cpp
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/page.cpp
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/pikepdf.cpp
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/pikepdf.h
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/pipeline.cpp
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/pipeline.h
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/qpdf.cpp
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/qpdf_inputsource.h
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/qpdf_pagelist.cpp
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/qpdf_pagelist.h
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/utils.cpp
Examining data/pikepdf-1.17.3+dfsg/src/qpdf/utils.h

FINAL RESULTS:

data/pikepdf-1.17.3+dfsg/src/qpdf/mmap_inputsource.h:162: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(buffer, src, len);
data/pikepdf-1.17.3+dfsg/src/qpdf/mmap_inputsource.h:164: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(buffer, src, len);
data/pikepdf-1.17.3+dfsg/src/qpdf/mmap_inputsource.h:141:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    size_t read(char* buffer, size_t length) override
data/pikepdf-1.17.3+dfsg/src/qpdf/qpdf_inputsource.h:81:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    size_t read(char* buffer, size_t length) override
data/pikepdf-1.17.3+dfsg/src/qpdf/qpdf_inputsource.h:121:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            size_t len = this->read(const_cast<char *>(buf.data()), buf.size());

ANALYSIS SUMMARY:

Hits = 5
Lines analyzed = 4124 in approximately 0.18 seconds (23089 lines/second)
Physical Source Lines of Code (SLOC) = 3023
Hits@level = [0]   0 [1]   3 [2]   2 [3]   0 [4]   0 [5]   0
Hits@level+ = [0+]   5 [1+]   5 [2+]   2 [3+]   0 [4+]   0 [5+]   0
Hits/KSLOC@level+ = [0+] 1.65399 [1+] 1.65399 [2+] 0.661594 [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.