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/pbcopper-1.6.0+dfsg/include/pbcopper/PbcopperConfig.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/AffineAlignment.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/AlignConfig.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/BandedChainAlignment.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/ChainSeeds.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/ChainSeedsConfig.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/FindSeeds.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/LinearAlignment.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/LocalAlignment.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/PairwiseAlignment.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/Seed.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/Seeds.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/SparseAlignment.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/internal/BCAlignBlocks.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/align/internal/BCAlignImpl.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/CLI.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/Interface.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/MultiToolInterface.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/Option.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/OptionGroup.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/OptionValue.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/PositionalArgument.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/Result.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/Results.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/ResultsHandler.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/Tool.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/BuiltinOptions.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/CommandLineParser.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/HelpMetrics.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/InterfaceData.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/InterfaceHelpPrinter.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/MultiToolInterfaceData.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/MultiToolInterfaceHelpPrinter.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/OptionData.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/OptionTranslator.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/PositionalArgumentData.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/PositionalArgumentTranslator.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/VersionPrinter.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Accuracy.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/CCSTag.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Cigar.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/CigarOperation.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Clipping.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Frames.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/GenomicInterval.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Interval.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/LocalContextFlags.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/MappedRead.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/MovieName.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Orientation.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Position.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/QualityValue.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/QualityValues.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/RSMovieName.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/RSReadName.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Read.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/ReadId.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/ReadName.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/SNR.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Strand.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Zmw.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/internal/ClippingImpl.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/internal/MovieName-inl.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/internal/RSMovieName-inl.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/internal/ReadNameBase-inl.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/data/internal/ReadNameBase.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/json/JSON.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/logging/LogConfig.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/logging/LogField.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/logging/LogLevel.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/logging/LogMessage.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/logging/Logging.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/parallel/FireAndForget.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/parallel/FireAndForgetIndexed.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/parallel/WorkQueue.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/pbmer/Dbg.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/pbmer/DbgNode.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/pbmer/DnaBit.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/pbmer/Kmer.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/pbmer/Mers.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/pbmer/Parser.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/qgram/Index.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/qgram/IndexHit.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/qgram/IndexHits.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/qgram/internal/Hashing-inl.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/qgram/internal/Index-inl.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/reports/Report.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/third-party/edlib.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/third-party/kxsort/kxsort.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/third-party/robin_hood/robin_hood.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/Alarm.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/Deleters.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/FileUtils.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/MemoryConsumption.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/MinMax.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/MoveAppend.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/MoveInsert.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/OStreamRedirect.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/PbcopperVersion.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/SafeSubtract.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/SequenceUtils.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/Stopwatch.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/StringUtils.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/SystemInfo.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/Unused.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/internal/FileUtils-inl.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/internal/Stopwatch-inl.h
Examining data/pbcopper-1.6.0+dfsg/include/pbcopper/utility/internal/SystemInfo-inl.h
Examining data/pbcopper-1.6.0+dfsg/src/align/AffineAlignment.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/AlignConfig.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/BandedChainAlignment.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/ChainSeeds.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/ChainSeedsConfig.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/FilterHomopolymers.h
Examining data/pbcopper-1.6.0+dfsg/src/align/FindSeeds.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/LinearAlignment.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/LocalAlignment.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/PairwiseAlignment.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/Seed.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/Seeds.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/SparseAlignment.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw_cpp.cpp
Examining data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw_cpp.h
Examining data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c
Examining data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.h
Examining data/pbcopper-1.6.0+dfsg/src/cli2/CLI.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/CommandLineParser.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/HelpMetrics.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/Interface.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/InterfaceHelpPrinter.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/MultiToolInterface.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/MultiToolInterfaceHelpPrinter.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/Option.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/OptionTranslator.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/OptionValue.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/PositionalArgumentTranslator.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/Result.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/Results.cpp
Examining data/pbcopper-1.6.0+dfsg/src/cli2/VersionPrinter.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/Accuracy.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/Cigar.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/CigarOperation.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/Frames.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/GenomicInterval.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/Interval.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/MovieName.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/QualityValue.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/QualityValues.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/RSMovieName.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/Read.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/ReadId.cpp
Examining data/pbcopper-1.6.0+dfsg/src/data/SNR.cpp
Examining data/pbcopper-1.6.0+dfsg/src/logging/LogConfig.cpp
Examining data/pbcopper-1.6.0+dfsg/src/logging/LogLevel.cpp
Examining data/pbcopper-1.6.0+dfsg/src/logging/LogMessage.cpp
Examining data/pbcopper-1.6.0+dfsg/src/logging/Logging.cpp
Examining data/pbcopper-1.6.0+dfsg/src/pbmer/Dbg.cpp
Examining data/pbcopper-1.6.0+dfsg/src/pbmer/DbgNode.cpp
Examining data/pbcopper-1.6.0+dfsg/src/pbmer/DnaBit.cpp
Examining data/pbcopper-1.6.0+dfsg/src/pbmer/Kmer.cpp
Examining data/pbcopper-1.6.0+dfsg/src/pbmer/Mers.cpp
Examining data/pbcopper-1.6.0+dfsg/src/pbmer/Parser.cpp
Examining data/pbcopper-1.6.0+dfsg/src/reports/Report.cpp
Examining data/pbcopper-1.6.0+dfsg/src/reports/ReportPrinter.cpp
Examining data/pbcopper-1.6.0+dfsg/src/reports/ReportPrinter.h
Examining data/pbcopper-1.6.0+dfsg/src/reports/TaskReport.cpp
Examining data/pbcopper-1.6.0+dfsg/src/third-party/edlib.cpp
Examining data/pbcopper-1.6.0+dfsg/src/utility/Alarm.cpp
Examining data/pbcopper-1.6.0+dfsg/src/utility/Deleters.cpp
Examining data/pbcopper-1.6.0+dfsg/src/utility/MemoryConsumption.cpp
Examining data/pbcopper-1.6.0+dfsg/src/utility/Stopwatch.cpp
Examining data/pbcopper-1.6.0+dfsg/src/utility/StringUtils.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/align/test_Alignment.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/align/test_BandedChainAlign.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/align/test_Seeds.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/cli2/test_CLI.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/cli2/test_CommandLineParser.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/cli2/test_InterfaceHelpPrinter.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/cli2/test_MultiToolInterfaceHelpPrinter.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/cli2/test_OptionTranslator.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/cli2/test_OptionValue.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/cli2/test_PositionalArgumentTranslator.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/cli2/test_Results.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/cli2/test_VersionPrinter.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_Accuracy.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_Cigar.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_Frames.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_GenomicInterval.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_Interval.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_MappedRead.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_MovieName.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_QualityValues.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_RSMovieName.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_RSReadName.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/data/test_ReadName.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/json/test_JSON.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/logging/test_Logging.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/parallel/test_FireAndForget.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/parallel/test_FireAndForgetIndexed.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/parallel/test_WorkQueue.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/pbmer/test_Dbg.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/pbmer/test_DbgNode.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/pbmer/test_DnaBit.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/pbmer/test_Kmer.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/pbmer/test_Mers.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/pbmer/test_Parser.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/qgram/test_Index.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/reports/test_Report.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/utility/test_Alarm.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/utility/test_FileUtils.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/utility/test_MinMax.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/utility/test_MoveAppend.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/utility/test_MoveInsert.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/utility/test_OStreamRedirect.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/utility/test_StringUtils.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/utility/test_SystemInfo.cpp
Examining data/pbcopper-1.6.0+dfsg/tests/src/utility/test_Stopwatch.cpp

FINAL RESULTS:

data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:3820:23:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
                (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast<unsigned char>(element_type));
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:5476:15:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
        (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast<unsigned char>(current));
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:6902:23:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
                (std::snprintf)(cs.data(), cs.size(), "<U+%.4X>", static_cast<unsigned char>(c));
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:12494:43:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
                                    (std::snprintf)(string_buffer.data() + bytes, 7, "\\u%04x",
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:12500:43:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
                                    (std::snprintf)(string_buffer.data() + bytes, 13, "\\u%04x\\u%04x",
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:12538:35:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
                            (std::snprintf)(&sn[0], sn.size(), "%.2X", byte);
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:12632:27:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
                    (std::snprintf)(&sn[0], sn.size(), "%.2X", static_cast<std::uint8_t>(s.back()));
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:12851:36:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
        std::ptrdiff_t len = (std::snprintf)(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:5419:14:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        std::memcpy(&result, vec.data(), sizeof(NumberType));
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:10946:14:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        std::memcpy(vec.data(), &n, sizeof(NumberType));
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:10977:14:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        std::memcpy(&result, &x, sizeof(x));
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:11073:10:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    std::memcpy(&target, &source, sizeof(Source));
data/pbcopper-1.6.0+dfsg/include/pbcopper/qgram/internal/Hashing-inl.h:96:15:  [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 dna[ALPHABET_SIZE] = {'A', 'C', 'G', 'T'};
data/pbcopper-1.6.0+dfsg/include/pbcopper/third-party/robin_hood/robin_hood.h:345:10:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    std::memcpy(&t, ptr, sizeof(T));
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw_cpp.cpp:260: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(score_matrix_, score_matrix, sizeof(int8_t) * score_matrix_size_ * score_matrix_size_);
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw_cpp.cpp:262: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(translation_matrix_, translation_matrix, sizeof(int8_t) * translation_matrix_size);
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw_cpp.cpp:431: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(score_matrix_, score_matrix, sizeof(int8_t) * score_matrix_size_ * score_matrix_size_);
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw_cpp.cpp:433: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(translation_matrix_, translation_matrix, sizeof(int8_t) * translation_matrix_size);
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw_cpp.cpp:444: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(translation_matrix_, kBaseTranslation, sizeof(int8_t) * SizeOfArray(kBaseTranslation));
data/pbcopper-1.6.0+dfsg/src/pbmer/Dbg.cpp:563:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    outfile.open(fn);
data/pbcopper-1.6.0+dfsg/src/reports/TaskReport.cpp:18: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 hostname_[255];
data/pbcopper-1.6.0+dfsg/src/third-party/edlib.cpp:323: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(cigar_, &(*cigar)[0], cigar->size() * sizeof(char));
data/pbcopper-1.6.0+dfsg/src/third-party/edlib.cpp:1392: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(*alignment, ulAlignment, ulAlignmentLength);
data/pbcopper-1.6.0+dfsg/src/third-party/edlib.cpp:1393: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(*alignment + ulAlignmentLength, lrAlignment, lrAlignmentLength);
data/pbcopper-1.6.0+dfsg/src/third-party/edlib.cpp:1434:14:  [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.
    unsigned char letterIdx[MAX_UCHAR + 1];
data/pbcopper-1.6.0+dfsg/include/pbcopper/cli2/internal/OptionData.h:39:21:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        return std::equal(names.cbegin(), names.cend(), other.names.cbegin());
data/pbcopper-1.6.0+dfsg/include/pbcopper/data/MappedRead.h:32:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappedRead(Read read) noexcept;
data/pbcopper-1.6.0+dfsg/include/pbcopper/data/MappedRead.h:33:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappedRead(Read read, enum Strand strand, size_t templateStart, size_t templateEnd,
data/pbcopper-1.6.0+dfsg/include/pbcopper/data/MappedRead.h:35:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappedRead(Read read, enum Strand strand, Position templateStart, Cigar cigar, uint8_t mapQV);
data/pbcopper-1.6.0+dfsg/include/pbcopper/data/MappedRead.h:36:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappedRead(Read read, enum Strand strand, Position templateStart, Position templateEnd,
data/pbcopper-1.6.0+dfsg/include/pbcopper/data/MappedRead.h:82:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void ClipToQuery(MappedRead& read, Position start, Position end);
data/pbcopper-1.6.0+dfsg/include/pbcopper/data/MappedRead.h:92:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void ClipToReference(MappedRead& read, Position start, Position end, bool exciseFlankingInserts);
data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Read.h:60:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::ostream& operator<<(std::ostream& os, const Read& read);
data/pbcopper-1.6.0+dfsg/include/pbcopper/data/Read.h:62:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void ClipToQuery(Read& read, Position start, Position end);
data/pbcopper-1.6.0+dfsg/include/pbcopper/data/internal/ClippingImpl.h:16:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void ClipRead(Read& read, const ClipResult& result, size_t start, size_t end);
data/pbcopper-1.6.0+dfsg/include/pbcopper/data/internal/ClippingImpl.h:19:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void ClipMappedRead(MappedRead& read, ClipResult result);
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:2346:21:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return std::fgetc(m_file);
data/pbcopper-1.6.0+dfsg/include/pbcopper/json/internal/json.hpp:2651:30:  [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).
                        std::strlen(reinterpret_cast<const char*>(b))) {}
data/pbcopper-1.6.0+dfsg/include/pbcopper/third-party/robin_hood/robin_hood.h:1391:91:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
                                                                        noexcept(KeyEqual(equal)))
data/pbcopper-1.6.0+dfsg/include/pbcopper/third-party/robin_hood/robin_hood.h:1392:31:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        : WHash(h), WKeyEqual(equal)
data/pbcopper-1.6.0+dfsg/include/pbcopper/third-party/robin_hood/robin_hood.h:1400:31:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        : WHash(h), WKeyEqual(equal)
data/pbcopper-1.6.0+dfsg/include/pbcopper/third-party/robin_hood/robin_hood.h:1409:31:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        : WHash(h), WKeyEqual(equal)
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:71:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	int32_t read;    //alignment ending position on read, 0-based
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:82:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	const int8_t* read;
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:565:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				 const int8_t* read,
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:636:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				temp2 = h_b[d] + mat[ref[j] * n + read[i]];
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:765:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
s_profile* ssw_init (const int8_t* read, const int32_t readLen, const int8_t* mat, const int32_t n, const int8_t score_size) {
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:778:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		p->profile_byte = qP_byte (read, mat, readLen, n, bias);
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:780:69:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (score_size == 1 || score_size == 2) p->profile_word = qP_word (read, mat, readLen, n);
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:781:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	p->read = read;
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:840:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	r->read_end1 = bests[0].read;
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:852:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read_reverse = seq_reverse(prof->read, r->read_end1);
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:863:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	r->read_begin1 = r->read_end1 - bests_reverse[0].read;
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:930:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
					   const int8_t* read,
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:947:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				if (*ref != *read) {
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.c:958:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				++ read;
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.h:78:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
s_profile* ssw_init(const int8_t* read, const int32_t readLen, const int8_t* mat, const int32_t n,
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw.h:145:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                      const int8_t* read, int32_t readLen, uint32_t** cigar, int32_t* cigarLen);
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw_cpp.cpp:310:21:  [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).
    int query_len = strlen(query);
data/pbcopper-1.6.0+dfsg/src/align/cssw/ssw_cpp.cpp:344:21:  [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).
    int query_len = strlen(query);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:178:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void ClipRead(Read& read, const ClipResult& result, size_t start, size_t end)
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:182:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.Seq = clipContainer(read.Seq, clipFrom, clipLength);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:182:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.Seq = clipContainer(read.Seq, clipFrom, clipLength);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:183:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.Qualities = clipContainer(read.Qualities, clipFrom, clipLength);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:183:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.Qualities = clipContainer(read.Qualities, clipFrom, clipLength);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:184:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.QueryStart = result.qStart_;
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:185:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.QueryEnd = result.qEnd_;
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:186:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (!read.PulseWidth.empty())
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:187:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.PulseWidth = clipContainer(read.PulseWidth, clipFrom, clipLength);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:187:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.PulseWidth = clipContainer(read.PulseWidth, clipFrom, clipLength);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:188:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (read.IPD) read.IPD = clipContainer(read.IPD->Data(), clipFrom, clipLength);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:188:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (read.IPD) read.IPD = clipContainer(read.IPD->Data(), clipFrom, clipLength);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:188:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (read.IPD) read.IPD = clipContainer(read.IPD->Data(), clipFrom, clipLength);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:192:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void ClipMappedRead(MappedRead& read, ClipResult result)
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:195:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ClipRead(read, result, result.qStart_, result.qEnd_);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:198:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.Cigar = std::move(result.cigar_);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:199:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.TemplateStart = result.refPos_;
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:200:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.TemplateEnd = read.TemplateStart + ReferenceLength(read.Cigar);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:200:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.TemplateEnd = read.TemplateStart + ReferenceLength(read.Cigar);
data/pbcopper-1.6.0+dfsg/src/data/Clipping.cpp:200:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.TemplateEnd = read.TemplateStart + ReferenceLength(read.Cigar);
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:149:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
MappedRead::MappedRead(Read read) noexcept : Read{std::move(read)} {}
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:149:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
MappedRead::MappedRead(Read read) noexcept : Read{std::move(read)} {}
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:151:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
MappedRead::MappedRead(Read read, enum Strand strand, size_t templateStart, size_t templateEnd,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:153:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    : Read{std::move(read)}
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:162:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
MappedRead::MappedRead(Read read, PacBio::Data::Strand strand, Position templateStart,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:164:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    : MappedRead{std::move(read), strand, templateStart, UnmappedPosition, std::move(cigar), mapQV}
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:193:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
MappedRead::MappedRead(Read read, PacBio::Data::Strand strand, Position templateStart,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:195:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    : Read{std::move(read)}
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:405:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void ClipToQuery(MappedRead& read, Position start, Position end)
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:408:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (start <= read.QueryStart && end >= read.QueryEnd) return;
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:408:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (start <= read.QueryStart && end >= read.QueryEnd) return;
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:411:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ClipToQueryConfig clipConfig{read.Seq.size(),
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:412:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 read.QueryStart,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:413:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 read.QueryEnd,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:416:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 read.TemplateStart,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:417:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 read.Strand,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:418:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 std::move(read.Cigar),  // we'll get this back
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:423:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    internal::ClipMappedRead(read, std::move(result));
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:426:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void ClipToReference(MappedRead& read, Position start, Position end, bool exciseFlankingInserts)
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:429:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (end <= read.TemplateStart || start >= read.TemplateEnd) {
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:429:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (end <= read.TemplateStart || start >= read.TemplateEnd) {
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:430:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.Seq.clear();
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:431:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.Qualities.clear();
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:432:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.QueryStart = -1;
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:433:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.QueryEnd = -1;
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:434:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.PulseWidth.clear();
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:435:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.TemplateStart = -1;
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:436:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.TemplateEnd = -1;
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:437:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.Cigar.clear();
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:438:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.MapQuality = 255;
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:443:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (start <= read.TemplateStart && end >= read.TemplateEnd) return;
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:443:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (start <= read.TemplateStart && end >= read.TemplateEnd) return;
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:447:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ClipToQueryConfig{read.Seq.size(), read.QueryStart, read.QueryEnd, start, end,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:447:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ClipToQueryConfig{read.Seq.size(), read.QueryStart, read.QueryEnd, start, end,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:447:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ClipToQueryConfig{read.Seq.size(), read.QueryStart, read.QueryEnd, start, end,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:448:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                          read.TemplateStart, read.Strand,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:448:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                          read.TemplateStart, read.Strand,
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:449:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                          std::move(read.Cigar),  // we'll get this back
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:451:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.TemplateEnd, start, end, exciseFlankingInserts};
data/pbcopper-1.6.0+dfsg/src/data/MappedRead.cpp:455:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    internal::ClipMappedRead(read, std::move(result));
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:109:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::ostream& operator<<(std::ostream& os, const Read& read)
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:112:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << "Read(Id=" << read.Id << ", Seq=" << read.Seq << ", PulseWidth=" << read.PulseWidth
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:112:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << "Read(Id=" << read.Id << ", Seq=" << read.Seq << ", PulseWidth=" << read.PulseWidth
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:112:79:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << "Read(Id=" << read.Id << ", Seq=" << read.Seq << ", PulseWidth=" << read.PulseWidth
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:113:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
       << ", Qualities=" << read.Qualities << ", IPD=";
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:114:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (read.IPD)
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:115:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        os << *read.IPD;
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:118:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << ", QueryStart=" << read.QueryStart << ", QueryEnd=" << read.QueryEnd
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:118:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << ", QueryStart=" << read.QueryStart << ", QueryEnd=" << read.QueryEnd
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:119:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
       << ", Flags=" << read.Flags << ", ReadAccuracy=" << read.ReadAccuracy
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:119:60:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
       << ", Flags=" << read.Flags << ", ReadAccuracy=" << read.ReadAccuracy
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:120:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
       << ", SignalToNoise=" << read.SignalToNoise << ", Model=" << read.Model
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:120:69:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
       << ", SignalToNoise=" << read.SignalToNoise << ", Model=" << read.Model
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:121:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
       << ", FullLength=" << read.FullLength << ')';
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:125:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void ClipToQuery(Read& read, Position start, Position end)
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:128:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (start <= read.QueryStart && end >= read.QueryEnd) return;
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:128:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (start <= read.QueryStart && end >= read.QueryEnd) return;
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:131:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ClipToQueryConfig clipConfig{read.Seq.size(),
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:132:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 read.QueryStart,
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:133:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 read.QueryEnd,
data/pbcopper-1.6.0+dfsg/src/data/Read.cpp:144:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    internal::ClipRead(read, std::move(result), start, end);
data/pbcopper-1.6.0+dfsg/tests/src/align/test_Alignment.cpp:74:21:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        return std::equal(expected.cbegin(), expected.cend(), observed.cbegin());
data/pbcopper-1.6.0+dfsg/tests/src/align/test_Alignment.cpp:642:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    a.reset(PacBio::Align::AlignLinear(ref, read, &score));
data/pbcopper-1.6.0+dfsg/tests/src/align/test_Alignment.cpp:645:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        PacBio::Align::Align(ref, read, &peerScore, config)};
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:29:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Read read{"name/0/500_510", seq, quals, snr, qStart, qEnd, pw, ipd};
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:30:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    internal::ClipRead(read, clipResult, clipStart, clipEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:40:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ("name/0/500_510", read.FullName());
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:41:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSeq, read.Seq);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:42:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQuals, read.Qualities);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:43:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQStart, read.QueryStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:44:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQEnd, read.QueryEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:45:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSnr, read.SignalToNoise);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:46:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(read.PulseWidth.size());
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:47:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:47:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:48:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(read.IPD);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:49:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:49:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:70:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappedRead read{Read{"name/0/500_510", seq, quals, snr, qStart, qEnd, pw, ipd},
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:76:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    internal::ClipMappedRead(read, clipResult);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:91:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ("name/0/500_510", read.FullName());
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:92:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSeq, read.Seq);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:93:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQuals, read.Qualities);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:94:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQStart, read.QueryStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:95:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQEnd, read.QueryEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:96:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSnr, read.SignalToNoise);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:97:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:97:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:98:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:98:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:99:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedStrand, read.Strand);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:100:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTStart, read.TemplateStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:101:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTEnd, read.TemplateEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:102:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedCigar, read.Cigar);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:103:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedMapQV, read.MapQuality);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:135:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        MappedRead read{Read{"name/0/500_507", seq, quals, snr, qStart, qEnd, pw, ipd},
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:142:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ClipToReference(read, start, end, true);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:144:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ("name/0/500_507", read.FullName());
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:145:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ(expectedSeq, read.Seq);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:146:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ(expectedQuals, read.Qualities);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:147:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ(expectedQStart, read.QueryStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:148:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ(expectedQEnd, read.QueryEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:149:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ(expectedSnr, read.SignalToNoise);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:150:26:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:150:72:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:151:26:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:151:74:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:152:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ(expectedStrand, read.Strand);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:153:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ(expectedTStart, read.TemplateStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:154:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ(expectedTEnd, read.TemplateEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:155:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ(expectedCigar, read.Cigar);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:156:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        EXPECT_EQ(expectedMapQV, read.MapQuality);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:193:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappedRead read{Read{"name/0/0_1200", seq, quals, snr, qStart, qEnd, pw, ipd},
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:201:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ClipToReference(read, 0, 1000, true);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:216:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ("name/0/0_1200", read.FullName());
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:217:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSeq, read.Seq);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:218:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQuals, read.Qualities);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:219:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQStart, read.QueryStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:220:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQEnd, read.QueryEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:221:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSnr, read.SignalToNoise);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:222:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:222:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:223:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:223:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:224:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedStrand, read.Strand);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:225:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTStart, read.TemplateStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:226:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTEnd, read.TemplateEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:227:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedCigar, read.Cigar);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:228:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedMapQV, read.MapQuality);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:231:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ClipToReference(read, 100, 1000, true);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:243:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ("name/0/0_1200", read.FullName());
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:244:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSeq, read.Seq);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:245:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQuals, read.Qualities);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:246:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQStart, read.QueryStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:247:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQEnd, read.QueryEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:248:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSnr, read.SignalToNoise);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:249:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:249:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:250:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:250:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:251:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedStrand, read.Strand);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:252:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTStart, read.TemplateStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:253:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTEnd, read.TemplateEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:254:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedCigar, read.Cigar);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:255:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedMapQV, read.MapQuality);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:258:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ClipToReference(read, 200, 800, true);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:270:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ("name/0/0_1200", read.FullName());
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:271:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSeq, read.Seq);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:272:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQuals, read.Qualities);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:273:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQStart, read.QueryStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:274:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQEnd, read.QueryEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:275:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSnr, read.SignalToNoise);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:276:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:276:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:277:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:277:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:278:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedStrand, read.Strand);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:279:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTStart, read.TemplateStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:280:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTEnd, read.TemplateEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:281:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedCigar, read.Cigar);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:282:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedMapQV, read.MapQuality);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:301:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappedRead read{Read{"name/0/0_1000", seq, quals, snr, qStart, qEnd, pw, ipd},
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:309:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ClipToReference(read, 0, 1000, true);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:324:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ("name/0/0_1000", read.FullName());
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:325:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSeq, read.Seq);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:326:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQuals, read.Qualities);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:327:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQStart, read.QueryStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:328:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQEnd, read.QueryEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:329:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSnr, read.SignalToNoise);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:330:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:330:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:331:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:331:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:332:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedStrand, read.Strand);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:333:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTStart, read.TemplateStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:334:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTEnd, read.TemplateEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:335:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedCigar, read.Cigar);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:336:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedMapQV, read.MapQuality);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:339:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ClipToReference(read, 100, 1000, true);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:351:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ("name/0/0_1000", read.FullName());
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:352:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSeq, read.Seq);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:353:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQuals, read.Qualities);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:354:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQStart, read.QueryStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:355:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQEnd, read.QueryEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:356:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSnr, read.SignalToNoise);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:357:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:357:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:358:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:358:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:359:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedStrand, read.Strand);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:360:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTStart, read.TemplateStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:361:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTEnd, read.TemplateEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:362:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedCigar, read.Cigar);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:363:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedMapQV, read.MapQuality);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:366:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ClipToReference(read, 200, 800, true);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:378:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ("name/0/0_1000", read.FullName());
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:379:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSeq, read.Seq);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:380:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQuals, read.Qualities);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:381:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQStart, read.QueryStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:382:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedQEnd, read.QueryEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:383:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedSnr, read.SignalToNoise);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:384:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:384:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:385:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:385:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_TRUE(std::equal(expectedIpd.cbegin(), expectedIpd.cend(), read.IPD->begin()));
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:386:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedStrand, read.Strand);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:387:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTStart, read.TemplateStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:388:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedTEnd, read.TemplateEnd);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:389:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedCigar, read.Cigar);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:390:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(expectedMapQV, read.MapQuality);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:626:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const PacBio::Data::Read read{
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:629:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(qStart, read.QueryStart);
data/pbcopper-1.6.0+dfsg/tests/src/data/test_Read.cpp:630:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    EXPECT_EQ(qEnd, read.QueryEnd);
data/pbcopper-1.6.0+dfsg/tests/src/utility/test_StringUtils.cpp:14:22:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    EXPECT_TRUE(std::equal(lines.cbegin(), lines.cend(), expected.cbegin()));

ANALYSIS SUMMARY:

Hits = 294
Lines analyzed = 56441 in approximately 1.32 seconds (42753 lines/second)
Physical Source Lines of Code (SLOC) = 35517
Hits@level = [0]   5 [1] 269 [2]  17 [3]   0 [4]   8 [5]   0
Hits@level+ = [0+] 299 [1+] 294 [2+]  25 [3+]   8 [4+]   8 [5+]   0
Hits/KSLOC@level+ = [0+] 8.4185 [1+] 8.27773 [2+] 0.703888 [3+] 0.225244 [4+] 0.225244 [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.