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

FINAL RESULTS:

data/pbcopper-1.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.0+dfsg/src/data/SNR.cpp:30: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(this, snrs.data(), sizeof(float) * 4);
data/pbcopper-1.8.0+dfsg/src/data/SNR.cpp:36: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(this, &snrs, sizeof(float) * 4);
data/pbcopper-1.8.0+dfsg/src/pbmer/Dbg.cpp:534: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.8.0+dfsg/src/pbmer/KFGraph.cpp:357: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.8.0+dfsg/src/pbmer/KFGraph.cpp:365: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.8.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.8.0+dfsg/src/third-party/edlib/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.8.0+dfsg/src/third-party/edlib/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.8.0+dfsg/src/third-party/edlib/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.8.0+dfsg/src/third-party/edlib/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.8.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.8.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, Position templateStart, Position templateEnd,
data/pbcopper-1.8.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.8.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.8.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.8.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.8.0+dfsg/include/pbcopper/data/Read.h:62: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.8.0+dfsg/include/pbcopper/data/Read.h:64: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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.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.8.0+dfsg/src/data/Clipping.cpp:177: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.8.0+dfsg/src/data/Clipping.cpp:181: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.8.0+dfsg/src/data/Clipping.cpp:181: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.8.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.Qualities = clipContainer(read.Qualities, clipFrom, clipLength);
data/pbcopper-1.8.0+dfsg/src/data/Clipping.cpp:182: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.8.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.QueryStart = result.qStart_;
data/pbcopper-1.8.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.QueryEnd = result.qEnd_;
data/pbcopper-1.8.0+dfsg/src/data/Clipping.cpp:185: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.8.0+dfsg/src/data/Clipping.cpp:186: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.8.0+dfsg/src/data/Clipping.cpp:186: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.8.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).
    if (read.IPD) read.IPD = clipContainer(read.IPD->Data(), clipFrom, clipLength);
data/pbcopper-1.8.0+dfsg/src/data/Clipping.cpp:187: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.8.0+dfsg/src/data/Clipping.cpp:187: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.8.0+dfsg/src/data/Clipping.cpp:191: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.8.0+dfsg/src/data/Clipping.cpp:194: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.8.0+dfsg/src/data/Clipping.cpp:197: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.8.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.TemplateStart = result.refPos_;
data/pbcopper-1.8.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.TemplateEnd = read.TemplateStart + ReferenceLength(read.Cigar);
data/pbcopper-1.8.0+dfsg/src/data/Clipping.cpp:199: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.8.0+dfsg/src/data/Clipping.cpp:199: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.8.0+dfsg/src/data/MappedRead.cpp:150: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.8.0+dfsg/src/data/MappedRead.cpp:150: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.8.0+dfsg/src/data/MappedRead.cpp:152: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, Position templateStart, Position templateEnd,
data/pbcopper-1.8.0+dfsg/src/data/MappedRead.cpp:154: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.8.0+dfsg/src/data/MappedRead.cpp:163: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.8.0+dfsg/src/data/MappedRead.cpp:165: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.8.0+dfsg/src/data/MappedRead.cpp:194: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.8.0+dfsg/src/data/MappedRead.cpp:196: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.8.0+dfsg/src/data/MappedRead.cpp:406: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.8.0+dfsg/src/data/MappedRead.cpp:409: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.8.0+dfsg/src/data/MappedRead.cpp:409: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.8.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).
    ClipToQueryConfig clipConfig{read.Seq.size(),
data/pbcopper-1.8.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.QueryStart,
data/pbcopper-1.8.0+dfsg/src/data/MappedRead.cpp:414:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 read.QueryEnd,
data/pbcopper-1.8.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.TemplateStart,
data/pbcopper-1.8.0+dfsg/src/data/MappedRead.cpp:418:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 read.Strand,
data/pbcopper-1.8.0+dfsg/src/data/MappedRead.cpp:419: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.8.0+dfsg/src/data/MappedRead.cpp:424: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.8.0+dfsg/src/data/MappedRead.cpp:427: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.8.0+dfsg/src/data/MappedRead.cpp:430: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.8.0+dfsg/src/data/MappedRead.cpp:430: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.8.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.Seq.clear();
data/pbcopper-1.8.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.Qualities.clear();
data/pbcopper-1.8.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.QueryStart = -1;
data/pbcopper-1.8.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.QueryEnd = -1;
data/pbcopper-1.8.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.PulseWidth.clear();
data/pbcopper-1.8.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.TemplateStart = -1;
data/pbcopper-1.8.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.TemplateEnd = -1;
data/pbcopper-1.8.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.Cigar.clear();
data/pbcopper-1.8.0+dfsg/src/data/MappedRead.cpp:439: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.8.0+dfsg/src/data/MappedRead.cpp:444: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.8.0+dfsg/src/data/MappedRead.cpp:444: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.8.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).
        ClipToQueryConfig{read.Seq.size(), read.QueryStart, read.QueryEnd, start, end,
data/pbcopper-1.8.0+dfsg/src/data/MappedRead.cpp:448: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.8.0+dfsg/src/data/MappedRead.cpp:448: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.8.0+dfsg/src/data/MappedRead.cpp:449: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.8.0+dfsg/src/data/MappedRead.cpp:449: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.8.0+dfsg/src/data/MappedRead.cpp:450: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.8.0+dfsg/src/data/MappedRead.cpp:452: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.8.0+dfsg/src/data/MappedRead.cpp:456: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.8.0+dfsg/src/data/Read.cpp:111: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.8.0+dfsg/src/data/Read.cpp:114: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.8.0+dfsg/src/data/Read.cpp:114: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.8.0+dfsg/src/data/Read.cpp:114: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.8.0+dfsg/src/data/Read.cpp:115: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.8.0+dfsg/src/data/Read.cpp:116: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.8.0+dfsg/src/data/Read.cpp:117: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.8.0+dfsg/src/data/Read.cpp:120: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.8.0+dfsg/src/data/Read.cpp:120: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.8.0+dfsg/src/data/Read.cpp:121: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.8.0+dfsg/src/data/Read.cpp:121: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.8.0+dfsg/src/data/Read.cpp:122: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.8.0+dfsg/src/data/Read.cpp:122: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.8.0+dfsg/src/data/Read.cpp:123: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.8.0+dfsg/src/data/Read.cpp:127: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.8.0+dfsg/src/data/Read.cpp:130: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.8.0+dfsg/src/data/Read.cpp:130: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.8.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).
    ClipToQueryConfig clipConfig{read.Seq.size(),
data/pbcopper-1.8.0+dfsg/src/data/Read.cpp:134:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 read.QueryStart,
data/pbcopper-1.8.0+dfsg/src/data/Read.cpp:135:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                 read.QueryEnd,
data/pbcopper-1.8.0+dfsg/src/data/Read.cpp:146: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.8.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.8.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.8.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.8.0+dfsg/tests/src/data/test_Read.cpp:30: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.8.0+dfsg/tests/src/data/test_Read.cpp:31: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.8.0+dfsg/tests/src/data/test_Read.cpp:41: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.8.0+dfsg/tests/src/data/test_Read.cpp:42: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.8.0+dfsg/tests/src/data/test_Read.cpp:43: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.8.0+dfsg/tests/src/data/test_Read.cpp:44: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.8.0+dfsg/tests/src/data/test_Read.cpp:45: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.8.0+dfsg/tests/src/data/test_Read.cpp:46: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.8.0+dfsg/tests/src/data/test_Read.cpp:47: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.8.0+dfsg/tests/src/data/test_Read.cpp:48: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.8.0+dfsg/tests/src/data/test_Read.cpp:48: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.8.0+dfsg/tests/src/data/test_Read.cpp:49: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.8.0+dfsg/tests/src/data/test_Read.cpp:50: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.8.0+dfsg/tests/src/data/test_Read.cpp:50: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.8.0+dfsg/tests/src/data/test_Read.cpp:71: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.8.0+dfsg/tests/src/data/test_Read.cpp:77: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.8.0+dfsg/tests/src/data/test_Read.cpp:92: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.8.0+dfsg/tests/src/data/test_Read.cpp:93: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.8.0+dfsg/tests/src/data/test_Read.cpp:94: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.8.0+dfsg/tests/src/data/test_Read.cpp:95: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.8.0+dfsg/tests/src/data/test_Read.cpp:96: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.8.0+dfsg/tests/src/data/test_Read.cpp:97: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.8.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(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:98: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.8.0+dfsg/tests/src/data/test_Read.cpp:99: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.8.0+dfsg/tests/src/data/test_Read.cpp:99: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.8.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(expectedStrand, read.Strand);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:101: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.8.0+dfsg/tests/src/data/test_Read.cpp:102: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.8.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(expectedCigar, read.Cigar);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:104: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.8.0+dfsg/tests/src/data/test_Read.cpp:136: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.8.0+dfsg/tests/src/data/test_Read.cpp:143: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.8.0+dfsg/tests/src/data/test_Read.cpp:145: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.8.0+dfsg/tests/src/data/test_Read.cpp:146: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.8.0+dfsg/tests/src/data/test_Read.cpp:147: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.8.0+dfsg/tests/src/data/test_Read.cpp:148: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.8.0+dfsg/tests/src/data/test_Read.cpp:149: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.8.0+dfsg/tests/src/data/test_Read.cpp:150: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.8.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(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:151: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.8.0+dfsg/tests/src/data/test_Read.cpp:152: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.8.0+dfsg/tests/src/data/test_Read.cpp:152: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.8.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(expectedStrand, read.Strand);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:154: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.8.0+dfsg/tests/src/data/test_Read.cpp:155: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.8.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(expectedCigar, read.Cigar);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:157: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.8.0+dfsg/tests/src/data/test_Read.cpp:194: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.8.0+dfsg/tests/src/data/test_Read.cpp:202: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.8.0+dfsg/tests/src/data/test_Read.cpp:217: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.8.0+dfsg/tests/src/data/test_Read.cpp:218: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.8.0+dfsg/tests/src/data/test_Read.cpp:219: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.8.0+dfsg/tests/src/data/test_Read.cpp:220: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.8.0+dfsg/tests/src/data/test_Read.cpp:221: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.8.0+dfsg/tests/src/data/test_Read.cpp:222: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.8.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(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:223: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.8.0+dfsg/tests/src/data/test_Read.cpp:224: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.8.0+dfsg/tests/src/data/test_Read.cpp:224: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.8.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(expectedStrand, read.Strand);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:226: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.8.0+dfsg/tests/src/data/test_Read.cpp:227: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.8.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(expectedCigar, read.Cigar);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:229: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.8.0+dfsg/tests/src/data/test_Read.cpp:232: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.8.0+dfsg/tests/src/data/test_Read.cpp:244: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.8.0+dfsg/tests/src/data/test_Read.cpp:245: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.8.0+dfsg/tests/src/data/test_Read.cpp:246: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.8.0+dfsg/tests/src/data/test_Read.cpp:247: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.8.0+dfsg/tests/src/data/test_Read.cpp:248: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.8.0+dfsg/tests/src/data/test_Read.cpp:249: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.8.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(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:250: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.8.0+dfsg/tests/src/data/test_Read.cpp:251: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.8.0+dfsg/tests/src/data/test_Read.cpp:251: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.8.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(expectedStrand, read.Strand);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:253: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.8.0+dfsg/tests/src/data/test_Read.cpp:254: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.8.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(expectedCigar, read.Cigar);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:256: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.8.0+dfsg/tests/src/data/test_Read.cpp:259: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.8.0+dfsg/tests/src/data/test_Read.cpp:271: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.8.0+dfsg/tests/src/data/test_Read.cpp:272: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.8.0+dfsg/tests/src/data/test_Read.cpp:273: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.8.0+dfsg/tests/src/data/test_Read.cpp:274: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.8.0+dfsg/tests/src/data/test_Read.cpp:275: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.8.0+dfsg/tests/src/data/test_Read.cpp:276: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.8.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(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:277: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.8.0+dfsg/tests/src/data/test_Read.cpp:278: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.8.0+dfsg/tests/src/data/test_Read.cpp:278: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.8.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(expectedStrand, read.Strand);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:280: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.8.0+dfsg/tests/src/data/test_Read.cpp:281: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.8.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(expectedCigar, read.Cigar);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:283: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.8.0+dfsg/tests/src/data/test_Read.cpp:302: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.8.0+dfsg/tests/src/data/test_Read.cpp:310: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.8.0+dfsg/tests/src/data/test_Read.cpp:325: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.8.0+dfsg/tests/src/data/test_Read.cpp:326: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.8.0+dfsg/tests/src/data/test_Read.cpp:327: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.8.0+dfsg/tests/src/data/test_Read.cpp:328: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.8.0+dfsg/tests/src/data/test_Read.cpp:329: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.8.0+dfsg/tests/src/data/test_Read.cpp:330: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.8.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(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:331: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.8.0+dfsg/tests/src/data/test_Read.cpp:332: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.8.0+dfsg/tests/src/data/test_Read.cpp:332: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.8.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(expectedStrand, read.Strand);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:334: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.8.0+dfsg/tests/src/data/test_Read.cpp:335: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.8.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(expectedCigar, read.Cigar);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:337: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.8.0+dfsg/tests/src/data/test_Read.cpp:340: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.8.0+dfsg/tests/src/data/test_Read.cpp:352: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.8.0+dfsg/tests/src/data/test_Read.cpp:353: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.8.0+dfsg/tests/src/data/test_Read.cpp:354: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.8.0+dfsg/tests/src/data/test_Read.cpp:355: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.8.0+dfsg/tests/src/data/test_Read.cpp:356: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.8.0+dfsg/tests/src/data/test_Read.cpp:357: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.8.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(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:358: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.8.0+dfsg/tests/src/data/test_Read.cpp:359: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.8.0+dfsg/tests/src/data/test_Read.cpp:359: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.8.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(expectedStrand, read.Strand);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:361: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.8.0+dfsg/tests/src/data/test_Read.cpp:362: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.8.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(expectedCigar, read.Cigar);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:364: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.8.0+dfsg/tests/src/data/test_Read.cpp:367: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.8.0+dfsg/tests/src/data/test_Read.cpp:379: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.8.0+dfsg/tests/src/data/test_Read.cpp:380: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.8.0+dfsg/tests/src/data/test_Read.cpp:381: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.8.0+dfsg/tests/src/data/test_Read.cpp:382: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.8.0+dfsg/tests/src/data/test_Read.cpp:383: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.8.0+dfsg/tests/src/data/test_Read.cpp:384: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.8.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(expectedPw.cbegin(), expectedPw.cend(), read.PulseWidth.begin()));
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:385: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.8.0+dfsg/tests/src/data/test_Read.cpp:386: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.8.0+dfsg/tests/src/data/test_Read.cpp:386: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.8.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(expectedStrand, read.Strand);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:388: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.8.0+dfsg/tests/src/data/test_Read.cpp:389: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.8.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(expectedCigar, read.Cigar);
data/pbcopper-1.8.0+dfsg/tests/src/data/test_Read.cpp:391: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.8.0+dfsg/tests/src/data/test_Read.cpp:627: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.8.0+dfsg/tests/src/data/test_Read.cpp:630: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.8.0+dfsg/tests/src/data/test_Read.cpp:631: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.8.0+dfsg/tests/src/utility/test_StringUtils.cpp:13: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 = 297
Lines analyzed = 60684 in approximately 1.39 seconds (43809 lines/second)
Physical Source Lines of Code (SLOC) = 38379
Hits@level = [0]   5 [1] 268 [2]  21 [3]   0 [4]   8 [5]   0
Hits@level+ = [0+] 302 [1+] 297 [2+]  29 [3+]   8 [4+]   8 [5+]   0
Hits/KSLOC@level+ = [0+] 7.86889 [1+] 7.73861 [2+] 0.755622 [3+] 0.208447 [4+] 0.208447 [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.