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/pbseqlib-5.3.4+dfsg/alignment/MappingMetrics.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/MappingMetrics.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/AffineGuidedAlign.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/AffineKBandAlign.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/AlignmentFormats.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/AlignmentUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/AlignmentUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/AlignmentUtilsImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/BaseScoreFunction.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/BaseScoreFunction.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/DistanceMatrixScoreFunction.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/DistanceMatrixScoreFunctionImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/ExtendAlign.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/ExtendAlign.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/FullQVAlign.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/GraphPaper.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/GraphPaperImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/GuidedAlign.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/GuidedAlign.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/IDSScoreFunction.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/IDSScoreFunction.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/KBandAlign.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/KBandAlign.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/OneGapAlignment.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/QualityValueScoreFunction.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/QualityValueScoreFunction.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/SDPAlign.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/SDPAlignImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/SWAlign.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/SWAlignImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/ScoreMatrices.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/ScoreMatrices.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/StringToScoreMatrix.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/StringToScoreMatrix.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/FragmentSort.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/FragmentSortImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/NonoverlappingSparseDynamicProgramming.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/SDPColumn.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/SDPFragment.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/SDPFragment.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/SDPSet.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/SDPSetImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/SparseDynamicProgramming.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/SparseDynamicProgramming.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/SparseDynamicProgrammingImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/alignment/sdp/VariableLengthSDPFragment.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/BWTSearch.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/BWTSearch.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/BWTSearchImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/BasicEndpoint.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/BasicEndpointImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/ClusterProbability.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/ClusterProbability.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/Coordinate.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/Coordinate.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/FindMaxInterval.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/FindMaxInterval.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/FindMaxIntervalImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/GlobalChain.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/GlobalChainImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LISPValue.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LISPValueImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LISPValueWeightor.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LISPValueWeightorImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LISQValueWeightor.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LISSizeWeightor.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LISSizeWeightorImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LongestIncreasingSubsequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LongestIncreasingSubsequenceImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArray.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/PrioritySearchTree.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/PrioritySearchTreeImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/ScoreAnchors.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/ScoreAnchorsImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/compare/CompareStrings.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/sorting/DifferenceCovers.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/sorting/DifferenceCovers.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/sorting/Karkkainen.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/sorting/LightweightSuffixArray.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/sorting/LightweightSuffixArray.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/sorting/MultikeyQuicksort.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/sorting/MultikeyQuicksort.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/sorting/qsufsort.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/algorithms/sorting/qsufsort.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/bwt/BWT.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/bwt/Pos.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/AlignedPair.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/Alignment.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/Alignment.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/AlignmentCandidate.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/AlignmentCandidate.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/AlignmentContext.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/AlignmentContext.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/AlignmentGapList.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/AlignmentMap.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/AlignmentMap.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/AlignmentStats.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/AlignmentStats.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/ByteAlignment.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/CmpFile.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/CmpFile.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/CmpIndexedStringTable.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/CmpReadGroupTable.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/CmpRefSeqTable.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/FilterCriteria.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/FilterCriteria.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/Path.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/SAMToAlignmentCandidateAdapter.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/SAMToAlignmentCandidateAdapter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignmentset/AlignmentSetToCmpH5Adapter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignmentset/AlignmentSetToCmpH5AdapterImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignmentset/SAMQVConversion.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignmentset/SAMQVConversion.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignmentset/SAMSupplementalQVList.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignmentset/SAMSupplementalQVList.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/anchoring/AnchorParameters.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/anchoring/AnchorParameters.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/anchoring/ClusterList.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/anchoring/ClusterList.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/anchoring/MatchPos.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/anchoring/MatchPos.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/anchoring/WeightedInterval.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/datastructures/anchoring/WeightedInterval.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/files/BaseSequenceIO.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/files/BaseSequenceIO.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/files/CCSIterator.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/files/CCSIterator.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/files/FragmentCCSIterator.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/files/FragmentCCSIterator.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/files/ReaderAgglomerate.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/files/ReaderAgglomerate.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/files/ReaderAgglomerateImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/CompareSequencesPrinter.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/CompareSequencesPrinter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/CompareSequencesPrinterImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/IntervalPrinter.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/IntervalPrinter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/SAMHeaderPrinter.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/SAMHeaderPrinter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinter.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/StickAlignmentPrinter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/SummaryPrinter.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/SummaryPrinter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/VulgarPrinter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/format/XMLPrinter.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/ipc/SharedMemoryAllocator.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/query/PbiFilterZmwGroupQuery.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/query/PbiFilterZmwGroupQuery.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/query/SequentialZmwGroupQuery.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/query/SequentialZmwGroupQuery.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/qvs/QualityValueProfile.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/qvs/QualityValueProfile.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/CDFMap.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/ContextOutputList.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/ContextSample.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/ContextSample.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/ContextSet.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/ContextSet.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/LengthHistogram.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/LengthHistogram.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputList.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSample.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSampleList.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSampleListSet.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/QualitySample.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/simulator/QualitySample.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/AnchorDistributionTable.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/LookupAnchorDistribution.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/LookupAnchorDistribution.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/StatUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/StatUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/StatUtilsImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/VarianceAccumulator.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/VarianceAccumulatorImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/cdfs.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/cdfs.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/pdfs.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/statistics/pdfs.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/LCPTable.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SharedSuffixArray.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArrayTypes.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/ssort.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/BaseTuple.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/BaseTuple.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/CompressedDNATuple.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/CountedTuple.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/DNATuple.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/DNATuple.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/DNATupleImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/DNATupleList.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/HashedTupleList.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/HashedTupleListImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleCountTable.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleCountTableImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleList.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleListImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleMask.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleMatching.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleMatchingImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleMetrics.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleMetrics.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleOperations.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleTranslations.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/tuples/tuple.h
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/BlasrFileUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/FileOfFileNames.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/FileOfFileNames.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/FileUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/LogUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/LogUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/PhredUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/PhredUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/RangeUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/RangeUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/RegionUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/RegionUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/RegionUtilsImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/alignment/utils/SimpleXMLUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDFArray.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/DatasetCollection.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/DatasetCollection.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/DatasetCollectionImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDF2DArray.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFAlnGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFAlnGroupGroup.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFAlnGroupGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFAlnInfoGroup.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFAlnInfoGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFArray.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFBasReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFBasWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFBaxWriter.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFBaxWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCCSReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpData.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpExperimentGroup.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpExperimentGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpRefAlignmentGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpRootGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpSupportedFields.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpSupportedFields.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFCommonFG.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFFile.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFFile.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFFileLogGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFMovieInfoGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFNewBasReader.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFNewBasReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseDataFile.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseDataFile.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseH5Writer.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseWriter.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFRefGroupGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFRefInfoGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFRegionTableReader.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFRegionTableReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFRegionTableWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFRegionsWriter.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFRegionsWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFSMRTSequenceReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFScanDataReader.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFScanDataReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFScanDataWriter.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFScanDataWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFSentinalFile.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFWriteBuffer.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFWriterBase.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFWriterBase.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWMetricsWriter.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWMetricsWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWReader.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFConfig.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDF2DArray.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDF2DArray.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDF2DArrayImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDFArray.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDFArrayImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFAtom.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFAtom.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFAttributable.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFAttributable.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFData.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFData.hpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFGroup.cpp
Examining data/pbseqlib-5.3.4+dfsg/hdf/HDFGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/BlasrFASTAReader.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/BlasrFASTQReader.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/CCSSequence.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/CCSSequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/ChangeListID.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/ChangeListID.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/CommandLineParser.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/CommandLineParser.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/Compare4BitCompressed.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/CompressedDNASequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/CompressedSequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/CompressedSequenceImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/Enumerations.h
Examining data/pbseqlib-5.3.4+dfsg/pbdata/FASTAReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/FASTASequence.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/FASTASequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/FASTQReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/FASTQSequence.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/FASTQSequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/GFFFile.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/GFFFile.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/MD5UtilsImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/NucConversion.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/NucConversion.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/PacBioDefs.h
Examining data/pbseqlib-5.3.4+dfsg/pbdata/PackedDNASequence.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/PackedDNASequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/PrettyException.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/ReverseCompressIndex.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/ReverseCompressIndex.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/SMRTSequence.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/SMRTSequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/SeqUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/SeqUtilsImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/StringUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/StringUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/Types.h
Examining data/pbseqlib-5.3.4+dfsg/pbdata/VectorUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/alignment/CmpAlignment.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/alignment/CmpAlignment.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/alignment/CmpAlignmentImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/amos/AfgBasWriter.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/amos/AfgBasWriter.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/defs.h
Examining data/pbseqlib-5.3.4+dfsg/pbdata/loadpulses/MetricField.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/loadpulses/MetricField.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/loadpulses/MovieAlnIndexLookupTable.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/loadpulses/MovieAlnIndexLookupTable.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/matrix/FlatMatrix.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/matrix/FlatMatrixImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/matrix/Matrix.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/matrix/MatrixImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/FindRandomSequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabase.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/TitleTable.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/TitleTable.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/qvs/BlasrQualityValue.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/qvs/QualityTransform.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/qvs/QualityTransform.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/qvs/QualityValue.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/qvs/QualityValueVector.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/qvs/QualityValueVectorImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/AcqParams.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/AcqParams.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFileImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/HoleXY.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/HoleXY.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseBaseCommon.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseBaseCommon.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFileImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/ReadInterval.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/ReadType.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/ReadType.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/RegionAnnotation.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/RegionAnnotation.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/RegionAnnotations.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/RegionAnnotations.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/RegionTable.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/RegionTable.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/RegionTypeMap.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/RegionTypeMap.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/ScanData.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/ScanData.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/ZMWGroupEntry.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/reads/ZMWGroupEntry.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/saf/AlnGroup.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/saf/AlnGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/saf/AlnInfo.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/saf/MovieInfo.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/saf/MovieInfo.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/saf/RefGroup.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/saf/RefGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/saf/RefInfo.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/saf/RefInfo.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/AlignmentSet.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/AlignmentSetImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/CigarString.h
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/ReadGroup.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/ReadGroup.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/ReferenceSequence.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/ReferenceSequence.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/SAMAlignment.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/SAMAlignment.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/SAMFlag.h
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/SAMHeader.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/SAMHeader.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/SAMKeywordValuePair.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/SAMKeywordValuePair.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/SAMKeywordValuePairImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/SAMReader.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/sam/SAMReaderImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/utils.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/utils/BitUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/utils/BitUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTReadUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTReadUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTTitle.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTTitle.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/utils/TimeUtils.cpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/utils/TimeUtils.hpp
Examining data/pbseqlib-5.3.4+dfsg/pbdata/utilsImpl.hpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/datastructures/alignment/AlignmentMap_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/datastructures/alignment/CmpIndexedStringTable_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/files/CCSIterator_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/files/FragmentCCSIterator_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/files/FragmentCCSIterator_other_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/files/ReaderAgglomerate_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/format/SAMHeaderPrinter_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/format/SAMPrinter_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/query/PbiFilterZmwGroupQuery_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/query/SequentialZmwGroupQuery_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/utils/FileUtils_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/utils/RangeUtils_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/alignment/utils/RegionUtils_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/hdf/HDF2DArray_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/hdf/HDFBasReader_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/hdf/HDFCCSReader_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/hdf/HDFPlsReader_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/hdf/HDFScanDataReader_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/hdf/HDFScanDataWriter_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/hdf/HDFUtils_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/hdf/HDFZMWReader_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/CCSSequence_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/ChangeListID_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/DNASequence_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/FASTAReader_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/FASTASequence_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/FASTQReader_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/FASTQSequence_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/NucConversion_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/SMRTSequence_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/ScanData_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/SeqUtils_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/StringUtils_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/VectorUtils_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/defs_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/metagenome/TitleTable_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/qvs/QualityValueVector_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/reads/ReadType_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/reads/RegionAnnotations_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/reads/RegionTypeMap_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/saf/AlnGroup_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/saf/MovieInfo_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/saf/RefInfo_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/testdata.h
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/utils/SMRTTitle_gtest.cpp
Examining data/pbseqlib-5.3.4+dfsg/unittest/pbdata/utils_gtest.cpp

FINAL RESULTS:

data/pbseqlib-5.3.4+dfsg/pbdata/CompressedDNASequence.hpp:36:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(title, t);
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp:226:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(names[seqIndex], tmpName.c_str());
data/pbseqlib-5.3.4+dfsg/alignment/statistics/StatUtils.cpp:7:45:  [3] (random) srandom:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
void InitializeRandomGenerator(int value) { srandom((unsigned)value); }
data/pbseqlib-5.3.4+dfsg/alignment/statistics/StatUtils.cpp:14:46:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    unsigned int randVal = RAND_MAX * (1.0 * random()) / RAND_MAX;
data/pbseqlib-5.3.4+dfsg/alignment/statistics/StatUtils.cpp:17:28:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    unsigned int lastBit = random() % 2;
data/pbseqlib-5.3.4+dfsg/alignment/statistics/StatUtils.cpp:27:38:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    int randVal = (randMax * ((1.0 * random()) / RAND_MAX));
data/pbseqlib-5.3.4+dfsg/alignment/statistics/StatUtils.hpp:113:5:  [3] (random) srandom:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    srandom((unsigned)time(&t));
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/sorting/DifferenceCovers.cpp:12:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(diffCover, &diffCovers[index][2], sizeof(UInt) * diffCoverLength);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:175:24:  [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.
            out.write((char *)major[0], sizeof(T_Major) * numMajorBins * AlphabetSize);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:180:24:  [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.
            out.write((char *)minor[0], sizeof(T_Minor) * numMinorBins * AlphabetSize);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:197:22:  [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.
            in.read((char *)major[0], sizeof(T_Major) * numMajorBins * AlphabetSize);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:204:22:  [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.
            in.read((char *)minor[0], sizeof(T_Minor) * numMinorBins * AlphabetSize);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp:174:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(newListPtr, ((DNALength *)storage), newValuePos * sizeof(DNALength));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp:177:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&newListPtr[newValuePos + 1], &((DNALength *)storage)[newValuePos],
data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp:336:24:  [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.
            out.write((char *)table, tableLength * sizeof(table[0]));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp:337:24:  [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.
            out.write((char *)values, tableLength * sizeof(values[0]));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp:343:28:  [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.
                out.write((char *)values[tablePos], sizeof(uint32_t) * nSetBits);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp:362:30:  [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.
                    in.read((char *)values[tablePos], nSetBits * sizeof(uint32_t));
data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/ByteAlignment.h:16:8:  [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.
static char QueryChar[256] = {
data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/ByteAlignment.h:45:8:  [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.
static char RefChar[256] = {
data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/ByteAlignment.h:61:17:  [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.
static unsigned char RefAlignmentByte[256] = {
data/pbseqlib-5.3.4+dfsg/alignment/datastructures/alignment/ByteAlignment.h:72:17:  [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.
static unsigned char QueryAlignmentByte[256] = {
data/pbseqlib-5.3.4+dfsg/alignment/format/XMLPrinter.hpp:31: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 strand[2] = {'+', '-'};
data/pbseqlib-5.3.4+dfsg/alignment/simulator/ContextOutputList.hpp:30:28:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                outCount = atoi(outCountStr.c_str());
data/pbseqlib-5.3.4+dfsg/alignment/simulator/QualitySample.cpp:18:16:  [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.
    out.write((char *)qv, sizeof(qv[0]) * NQV);
data/pbseqlib-5.3.4+dfsg/alignment/simulator/QualitySample.cpp:19:16:  [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.
    out.write((char *)frameValues, sizeof(frameValues[0]) * NFV);
data/pbseqlib-5.3.4+dfsg/alignment/simulator/QualitySample.cpp:20:16:  [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.
    out.write((char *)tags, sizeof(tags[0]) * NT);
data/pbseqlib-5.3.4+dfsg/alignment/simulator/QualitySample.cpp:26: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.
    in.read((char *)frameValues, sizeof(frameValues[0]) * NFV);
data/pbseqlib-5.3.4+dfsg/alignment/simulator/QualitySample.cpp:27: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.
    in.read((char *)tags, sizeof(tags[0]) * NT);
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SharedSuffixArray.hpp:61:14:  [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).
        saIn.open(inFileName.c_str(), std::ios::binary);
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:556:24:  [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).
        suffixArrayOut.open(outFileName.c_str(), std::ios::binary);
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:643:14:  [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).
        saIn.open(inFileName.c_str(), std::ios::binary);
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:661:14:  [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).
        saIn.open(inFileName.c_str(), std::ios::binary);
data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleListImpl.hpp:47:12:  [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).
    listIn.open(fileName.c_str(), std::ios_base::binary);
data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleListImpl.hpp:68: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).
    listOut.open(fileName.c_str(), std::ios_base::binary);
data/pbseqlib-5.3.4+dfsg/alignment/utils/BlasrFileUtils.cpp:5:16:  [2] (misc) fopen:
  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).
    FILE *fp = fopen(fileName.c_str(), "r");
data/pbseqlib-5.3.4+dfsg/alignment/utils/BlasrFileUtils.cpp:17:10:  [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).
    file.open(fileName.c_str(), mode | std::ios::in);
data/pbseqlib-5.3.4+dfsg/alignment/utils/BlasrFileUtils.cpp:26:10:  [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).
    file.open(fileName.c_str(), mode | std::ios::in);
data/pbseqlib-5.3.4+dfsg/alignment/utils/BlasrFileUtils.cpp:32:10:  [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).
    file.open(fileName.c_str(), mode | std::ios::out);
data/pbseqlib-5.3.4+dfsg/alignment/utils/BlasrFileUtils.cpp:41:10:  [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).
    file.open(fileName.c_str(), mode | std::ios::out);
data/pbseqlib-5.3.4+dfsg/alignment/utils/BlasrFileUtils.cpp:50:15:  [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).
    fileDes = open(fileName.c_str(), O_RDONLY);
data/pbseqlib-5.3.4+dfsg/alignment/utils/RangeUtils.cpp:37:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            ranges.push_back(Range(std::atoi(str.c_str())));
data/pbseqlib-5.3.4+dfsg/alignment/utils/RangeUtils.cpp:45:41:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            ranges.push_back(Range(std::atoi(start_end[0].c_str()), atoi(start_end[1].c_str())));
data/pbseqlib-5.3.4+dfsg/alignment/utils/RangeUtils.cpp:45:69:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            ranges.push_back(Range(std::atoi(start_end[0].c_str()), atoi(start_end[1].c_str())));
data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDF2DArrayImpl.hpp:294:9:  [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((void *)&this->writeBuffer[this->bufferIndex], (void *)&data[dataIndex],
data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDFArrayImpl.hpp:69:9:  [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((void *)&this->writeBuffer[this->bufferIndex], (void *)&data[dataIndex],
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:731:9:  [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(read.seq, readSequence.c_str(), readSequence.size() * sizeof(char));
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:601:9:  [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(read.seq, readSequence.c_str(), readSequence.size() * sizeof(char));
data/pbseqlib-5.3.4+dfsg/pbdata/BlasrFASTAReader.cpp:85:15:  [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).
    fileDes = open(seqInName.c_str(), O_RDONLY);
data/pbseqlib-5.3.4+dfsg/pbdata/ChangeListID.cpp:15:31:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        intVer.push_back(std::atoi(part.c_str()));
data/pbseqlib-5.3.4+dfsg/pbdata/CommandLineParser.cpp:383:40:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        *intValues[optionValueIndex] = atoi(argv[argi]);
data/pbseqlib-5.3.4+dfsg/pbdata/CommandLineParser.cpp:404:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        value = atoi(argv[argi]);
data/pbseqlib-5.3.4+dfsg/pbdata/CommandLineParser.cpp:427:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        value = atoi(argv[argi]);
data/pbseqlib-5.3.4+dfsg/pbdata/CommandLineParser.cpp:545:56:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            intListValues[optionValueIndex]->push_back(atoi(argv[argi]));
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedDNASequence.hpp:48:9:  [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(rc.title, title, titleLength);
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedDNASequence.hpp:63:9:  [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(seq, rhs.seq, rhs.length);
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedDNASequence.hpp:69:9:  [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(title, rhs.title, rhs.titleLength);
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedSequenceImpl.hpp:68: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(seq, rhs.seq, rhs.length);
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedSequenceImpl.hpp:74: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(title, rhs.title, rhs.titleLength);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:38:9:  [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(newSeq, seq, length);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:39:9:  [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(&newSeq[length], rhs.seq, rhs.length);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:48:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&seq[appendPos], rhs.seq, rhs.length);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:56:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(newSeq, seq, length);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:57:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&newSeq[length], rhs.seq, rhs.length);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:113:9:  [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(seq, &rhs.seq[rhsPos], rhsLength);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:124: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(seq, rhsSeq.c_str(), length);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:308:9:  [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(seq, &ref.seq[start], length);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:312:9:  [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(seq, &ref.seq[start], length);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:342:9:  [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(seq, prev, prevLength);
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:345: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((Nucleotide *)&seq[prevLength], moreSeq, moreSeqLength);
data/pbseqlib-5.3.4+dfsg/pbdata/FASTASequence.cpp:81:9:  [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(title, str, strlen);
data/pbseqlib-5.3.4+dfsg/pbdata/FASTASequence.cpp:141: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(tmpTitle, title, titleLength);
data/pbseqlib-5.3.4+dfsg/pbdata/FASTASequence.cpp:142: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(&tmpTitle[titleLength], str.c_str(), str.size());
data/pbseqlib-5.3.4+dfsg/pbdata/FASTQSequence.cpp:265:9:  [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(deletionTag, rhs.deletionTag, sizeof(Nucleotide) * rhs.length);
data/pbseqlib-5.3.4+dfsg/pbdata/FASTQSequence.cpp:272:9:  [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(substitutionTag, rhs.substitutionTag, sizeof(Nucleotide) * rhs.length);
data/pbseqlib-5.3.4+dfsg/pbdata/FASTQSequence.cpp:682: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(substitutionTag, qvs.c_str(), qvs.size() * sizeof(char));
data/pbseqlib-5.3.4+dfsg/pbdata/FASTQSequence.cpp:688: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(deletionTag, qvs.c_str(), qvs.size() * sizeof(char));
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:83:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buffer + buffer_index, input, buffer_space);
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:95: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(buffer + buffer_index, input + input_index, input_length - input_index);
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:104: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 buffer[1024];
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:119: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 buffer[1024];
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:135: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 buffer[1024];
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:151: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 bits[8];
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:219: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(s, digest, 16);
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:237:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(s + i * 2, "%02x", digest[i]);
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:401:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
void MD5::memcpy(uint1 *output, uint1 *input, uint4 len)
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.hpp:93:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    static void memcpy(uint1 *dest, uint1 *src, uint4 length);
data/pbseqlib-5.3.4+dfsg/pbdata/NucConversion.hpp:27:17:  [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.
extern unsigned char AllToUpper[256];
data/pbseqlib-5.3.4+dfsg/pbdata/NucConversion.hpp:29:8:  [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.
extern char AllToLower[256];
data/pbseqlib-5.3.4+dfsg/pbdata/NucConversion.hpp:31:17:  [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.
extern unsigned char PreserveCase[256];
data/pbseqlib-5.3.4+dfsg/pbdata/NucConversion.hpp:33:8:  [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.
extern char TwoBitToAscii[4];
data/pbseqlib-5.3.4+dfsg/pbdata/NucConversion.hpp:35:17:  [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.
extern unsigned char ReverseComplementNuc[256];
data/pbseqlib-5.3.4+dfsg/pbdata/SMRTSequence.cpp:172:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(preBaseFrames, rhs.preBaseFrames, length * sizeof(HalfWord));
data/pbseqlib-5.3.4+dfsg/pbdata/SMRTSequence.cpp:176:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(widthInFrames, rhs.widthInFrames, length * sizeof(HalfWord));
data/pbseqlib-5.3.4+dfsg/pbdata/SMRTSequence.cpp:180:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(pulseIndex, rhs.pulseIndex, sizeof(int) * length);
data/pbseqlib-5.3.4+dfsg/pbdata/SMRTSequence.cpp:379:9:  [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(&this->seq[subread.SubreadStart()], &subread.seq[0], sizeof(char) * subread.length);
data/pbseqlib-5.3.4+dfsg/pbdata/SMRTSequence.cpp:383:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&this->deletionTag[subread.SubreadStart()], &subread.deletionTag[0],
data/pbseqlib-5.3.4+dfsg/pbdata/SMRTSequence.cpp:389:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&this->substitutionTag[subread.SubreadStart()], &subread.substitutionTag[0],
data/pbseqlib-5.3.4+dfsg/pbdata/SMRTSequence.cpp:478:18:  [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(preBaseFrames, &qvs[0], qvs.size() * sizeof(HalfWord));
data/pbseqlib-5.3.4+dfsg/pbdata/SMRTSequence.cpp:484:18:  [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(widthInFrames, &qvs[0], qvs.size() * sizeof(HalfWord));
data/pbseqlib-5.3.4+dfsg/pbdata/alignment/CmpAlignmentImpl.hpp:5: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(&fields[fieldName][0], fieldValues, length * sizeof(T_Field));
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp:163:20:  [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.
        out.write((char *)names[i], sizeof(char) * (nameLengths[i] - 1));
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp:275:9:  [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((char *)names[i], (char *)growableName[i].c_str(), growableName[i].size());
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp:275:17:  [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.
        memcpy((char *)names[i], (char *)growableName[i].c_str(), growableName[i].size());
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp:275:35:  [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.
        memcpy((char *)names[i], (char *)growableName[i].c_str(), growableName[i].size());
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/TitleTable.cpp:20:9:  [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(table[i], src[i], lenStrI);
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/TitleTable.cpp:55:9:  [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(table[i], titles[i].c_str(), titles[i].size());
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/TitleTable.cpp:64:9:  [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 title[1024];
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/TitleTable.cpp:115:9:  [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(table[i], name.c_str(), name.size());
data/pbseqlib-5.3.4+dfsg/pbdata/qvs/QualityValueVectorImpl.hpp:45: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(data, rhs.data, length * sizeof(T_QV));
data/pbseqlib-5.3.4+dfsg/pbdata/qvs/QualityValueVectorImpl.hpp:90: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(&this->data[thisStart], &rhs.data[rhsStart], sizeof(T_QV) * fillLength);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFileImpl.hpp:9: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(dest, &fullArray[pos], sizeof(T) * length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/RegionAnnotation.hpp:117: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(row, rhs.row, sizeof(int) * NCOLS);
data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTReadUtils.cpp:11:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            x = atoi(&titleTokens[i].c_str()[1]);
data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTReadUtils.cpp:14:17:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            y = atoi(&titleTokens[i].c_str()[1]);
data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTReadUtils.cpp:28:18:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    holeNumber = atoi(titleTokens[1].c_str());
data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTReadUtils.cpp:41:22:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        holeNumber = atoi(tokens[1].c_str());
data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTTitle.cpp:23:40:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        holeNumber = static_cast<UInt>(atoi(values[1].c_str()));
data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTTitle.cpp:27:44:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            start = static_cast<DNALength>(atoi(offsets[0].c_str()));
data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTTitle.cpp:28:42:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
            end = static_cast<DNALength>(atoi(offsets[1].c_str()));
data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTTitle.cpp:35:58:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                    end = static_cast<DNALength>(start + atoi(offsets[1].c_str()));
data/pbseqlib-5.3.4+dfsg/pbdata/utils/SMRTTitle.cpp:36:60:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                    start = static_cast<DNALength>(start + atoi(offsets[0].c_str()));
data/pbseqlib-5.3.4+dfsg/pbdata/utilsImpl.hpp:13:14:  [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).
        file.open(fileName.c_str());
data/pbseqlib-5.3.4+dfsg/pbdata/utilsImpl.hpp:15:14:  [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).
        file.open(fileName.c_str(), mode);
data/pbseqlib-5.3.4+dfsg/unittest/pbdata/CCSSequence_gtest.cpp:46:9:  [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(smrt.seq, seq, size * sizeof(Nucleotide));
data/pbseqlib-5.3.4+dfsg/unittest/pbdata/DNASequence_gtest.cpp:54: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(thisNuc, HKITTY, thisLen);
data/pbseqlib-5.3.4+dfsg/unittest/pbdata/DNASequence_gtest.cpp:103: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(three, one, oneLen);
data/pbseqlib-5.3.4+dfsg/unittest/pbdata/DNASequence_gtest.cpp:104: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(three + oneLen, two, twoLen);
data/pbseqlib-5.3.4+dfsg/unittest/pbdata/FASTASequence_gtest.cpp:66: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(fastaOne.title, title.c_str(), titleLength);
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/FindMaxInterval.hpp:39:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    float operator()(T_Sequence &text, T_Sequence &read, T_AnchorList matchPosList);
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/FindMaxIntervalImpl.hpp:6:79:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                                                  T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/FindMaxIntervalImpl.hpp:10:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    PB_UNUSED(read);
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LISPValue.hpp:14:88:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
float ComputeLISPValue(std::vector<T_MatchPos> &lis, T_TextSequence &text, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LISPValueImpl.hpp:72:88:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
float ComputeLISPValue(std::vector<T_MatchPos> &lis, T_TextSequence &text, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/LISPValueImpl.hpp:76:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    (void)(read);
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArray.hpp:27:94:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int LocateAnchorBoundsInSuffixArray(T_RefSequence &reference, T_SuffixArray &sa, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArray.hpp:34:78:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int MapReadToGenome(T_RefSequence &reference, T_SuffixArray &sa, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:22:94:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int LocateAnchorBoundsInSuffixArray(T_RefSequence &reference, T_SuffixArray &sa, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:34:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (minPrefixMatchLength > 0 and read.SubreadLength() < minPrefixMatchLength) {
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:39:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    DNALength matchEnd = read.SubreadEnd() - minPrefixMatchLength + 1;
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:40:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    DNALength numSearchedPositions = matchEnd - read.SubreadStart();
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:51:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for (m = 0, p = read.SubreadStart(); p < matchEnd; p++, m++) {
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:55:65:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            sa.StoreLCPBounds(reference.seq, reference.length, &read.seq[p], matchEnd - p,
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:126:73:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                while (refPos + 1 < reference.length and queryPos + 1 < read.length and
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:127:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                       reference.seq[refPos + 1] == read.seq[queryPos + 1] and
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:197:78:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int MapReadToGenome(T_RefSequence &reference, T_SuffixArray &sa, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:205:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (read.SubreadLength() < minMatchLen) {
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:210:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LocateAnchorBoundsInSuffixArray(reference, sa, read, minPrefixMatchLength, matchLow, matchHigh,
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:230:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        removed.resize(read.length);
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:233:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        for (i = 0; i < read.length - 1; i++) {
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:249:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (read.SubreadEnd() < trim) {
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:252:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        endOfMapping = read.SubreadEnd() - trim;
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:255:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for (pos = read.SubreadStart(); pos < endOfMapping; pos++) {
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:256:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        size_t matchIndex = pos - read.SubreadStart();
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:269:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                if (matchLength[matchIndex] + pos > read.length) {
data/pbseqlib-5.3.4+dfsg/alignment/algorithms/anchoring/MapBySuffixArrayImpl.hpp:276:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    matchLength[matchIndex] = read.length - pos;
data/pbseqlib-5.3.4+dfsg/alignment/bwt/BWT.hpp:94:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        bwtIn.read((char *)charCount, sizeof(DNALength) * CharCountSize);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/BWT.hpp:95:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        bwtIn.read((char *)&firstCharPos, sizeof(DNALength));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/BWT.hpp:96:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        bwtIn.read((char *)&useDebugData, sizeof(useDebugData));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/BWT.hpp:99:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            bwtIn.read((char *)&saCopy[0], (bwtSequence.length - 1) * sizeof(DNALength));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:192:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&majorBinSize, sizeof(majorBinSize));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:193:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&minorBinSize, sizeof(minorBinSize));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:194:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&numMajorBins, sizeof(numMajorBins));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:197:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char *)major[0], sizeof(T_Major) * numMajorBins * AlphabetSize);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:201:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&numMinorBins, sizeof(numMinorBins));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:204:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char *)minor[0], sizeof(T_Minor) * numMinorBins * AlphabetSize);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:210:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char *)&bwtSeqLength, sizeof(bwtSeqLength));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/Occ.hpp:217:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char *)&full.matrix[0], sizeof(DNALength) * bwtSeqLength * AlphabetSize);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp:351:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&tableLength, sizeof(tableLength));
data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp:355:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char *)table, sizeof(uint32_t) * tableLength);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp:356:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char *)values, sizeof(uint64_t) * tableLength);
data/pbseqlib-5.3.4+dfsg/alignment/bwt/PackedHash.hpp:362:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    in.read((char *)values[tablePos], nSetBits * sizeof(uint32_t));
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinter.hpp:15:72:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void AlignmentToBamRecord(T_AlignmentCandidate &alignment, T_Sequence &read, T_Sequence &subread,
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinter.hpp:23:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void PrintAlignment(T_AlignmentCandidate &alignment, T_Sequence &read, T_Sequence &subread,
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:16:72:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void AlignmentToBamRecord(T_AlignmentCandidate &alignment, T_Sequence &read, T_Sequence &subread,
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:27:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (dynamic_cast<SMRTSequence *>(&read) == NULL) {
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:41:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    CreateCIGARString(alignment, read, cigarString, clipping, prefixSoftClip, suffixSoftClip,
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:43:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SetAlignedSequence(alignment, read, alignedSequence, clipping);
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:90:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (dynamic_cast<CCSSequence *>(&read) == NULL) {  // subread
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:91:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            tags["qs"] = read.SubreadStart();
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:92:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            tags["qe"] = read.SubreadEnd();
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:97:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            tags["np"] = (static_cast<CCSSequence *>(&read))->numPasses;
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:99:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        tags["zm"] = read.zmwData.holeNumber;
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:159:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void BAMOutput::PrintAlignment(T_AlignmentCandidate &alignment, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/format/BAMPrinterImpl.hpp:167:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    AlignmentToBamRecord(alignment, read, subread, bamRecord, context, qvList, clipping,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinter.hpp:69:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void SetAlignedSequence(T_AlignmentCandidate &alignment, T_Sequence &read, T_Sequence &alignedSeq,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinter.hpp:73:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void SetSoftClip(T_AlignmentCandidate &alignment, T_Sequence &read, DNALength hardClipPrefix,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinter.hpp:77:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void SetHardClip(T_AlignmentCandidate &alignment, T_Sequence &read, DNALength &prefixClip,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinter.hpp:88:69:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void CreateCIGARString(T_AlignmentCandidate &alignment, T_Sequence &read, std::string &cigarString,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinter.hpp:94:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void PrintAlignment(T_AlignmentCandidate &alignment, T_Sequence &read, std::ostream &samFile,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:8:81:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void SAMOutput::SetAlignedSequence(T_AlignmentCandidate &alignment, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:24:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        clippedReadLength = read.length - read.lowQualityPrefix - read.lowQualitySuffix;
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:24:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        clippedReadLength = read.length - read.lowQualityPrefix - read.lowQualitySuffix;
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:24:67:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        clippedReadLength = read.length - read.lowQualityPrefix - read.lowQualitySuffix;
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:25:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        clippedStartPos = read.lowQualityPrefix;
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:27:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        clippedReadLength = read.SubreadLength();
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:28:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        clippedStartPos = read.SubreadStart();
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:40:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        alignedSeq.ReferenceSubstring(read, clippedStartPos, clippedReadLength);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:43:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        subSeq.ReferenceSubstring(read, clippedStartPos, clippedReadLength);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:50:74:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void SAMOutput::SetSoftClip(T_AlignmentCandidate &alignment, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:60:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    assert(read.length >= hardClipSuffix and read.length >= qEnd and
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:60:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    assert(read.length >= hardClipSuffix and read.length >= qEnd and
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:61:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
           qEnd + hardClipSuffix <= read.length);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:62:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    softClipSuffix = read.length - hardClipSuffix - qEnd;
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:66:74:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void SAMOutput::SetHardClip(T_AlignmentCandidate &alignment, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:74:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    suffixClip = read.length - alignment.QAlignEnd();
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:88:80:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void SAMOutput::CreateCIGARString(T_AlignmentCandidate &alignment, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:104:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        SetHardClip(alignment, read, prefixHardClip, suffixHardClip);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:122:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            prefixHardClip = read.lowQualityPrefix;
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:123:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            suffixHardClip = read.lowQualitySuffix;
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:125:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            prefixHardClip = std::max((DNALength)read.SubreadStart(), read.lowQualityPrefix);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:125:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            prefixHardClip = std::max((DNALength)read.SubreadStart(), read.lowQualityPrefix);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:127:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                std::max((DNALength)(read.length - read.SubreadEnd()), read.lowQualitySuffix);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:127:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                std::max((DNALength)(read.length - read.SubreadEnd()), read.lowQualitySuffix);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:127:72:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                std::max((DNALength)(read.length - read.SubreadEnd()), read.lowQualitySuffix);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:130:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        SetSoftClip(alignment, read, prefixHardClip, suffixHardClip, prefixSoftClip,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:169:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void SAMOutput::PrintAlignment(T_AlignmentCandidate &alignment, T_Sequence &read,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:181:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    CreateCIGARString(alignment, read, cigarString, clipping, prefixSoftClip, suffixSoftClip,
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:183:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SetAlignedSequence(alignment, read, alignedSequence, clipping);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:263:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        DNALength xe = read.length - suffixHardClip;
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:266:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            xe = read.length - prefixHardClip;
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:269:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        assert(read.length - suffixHardClip == prefixHardClip + alignedSequence.length);
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:272:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    samFile << "YS:i:" << read.SubreadStart() << "\t";
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:273:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    samFile << "YE:i:" << read.SubreadEnd() << "\t";
data/pbseqlib-5.3.4+dfsg/alignment/format/SAMPrinterImpl.hpp:274:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    samFile << "ZM:i:" << read.HoleNumber() << "\t";
data/pbseqlib-5.3.4+dfsg/alignment/simulator/ContextSample.cpp:48:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&sampleSize, sizeof(sampleSize));
data/pbseqlib-5.3.4+dfsg/alignment/simulator/ContextSet.cpp:20:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&contextLength, sizeof(contextLength));
data/pbseqlib-5.3.4+dfsg/alignment/simulator/ContextSet.cpp:22:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&numContext, sizeof(numContext));
data/pbseqlib-5.3.4+dfsg/alignment/simulator/ContextSet.cpp:27:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read(context, contextLength);
data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSample.hpp:54:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&type, sizeof(Type));
data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSample.hpp:56:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&nNuc, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSample.hpp:63:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&nucleotides[0], sizeof(Nucleotide) * nNuc);
data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSampleList.hpp:26:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&nElem, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSampleListSet.hpp:69:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&setSize, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSampleListSet.hpp:70:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&keyLength, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSampleListSet.hpp:79:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read(key, sizeof(char) * keyLength);
data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSampleListSet.hpp:83:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&numLengths, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/simulator/OutputSampleListSet.hpp:88:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char *)&lengths[i], sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/simulator/QualitySample.cpp:25:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)qv, sizeof(QualityValue) * NQV);
data/pbseqlib-5.3.4+dfsg/alignment/simulator/QualitySample.cpp:26:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)frameValues, sizeof(frameValues[0]) * NFV);
data/pbseqlib-5.3.4+dfsg/alignment/simulator/QualitySample.cpp:27:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)tags, sizeof(tags[0]) * NT);
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/LCPTable.hpp:136:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char*)&tableLength, sizeof(tableLength));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/LCPTable.hpp:137:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char*)&llcp, sizeof(PrefixLength) * tableLength);
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/LCPTable.hpp:138:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char*)&rlcp, sizeof(PrefixLength) * tableLength);
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/LCPTable.hpp:140:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char*)&longPrefixMapSize, sizeof(longPrefixMapSize));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/LCPTable.hpp:145:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char*)&index, sizeof(index));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/LCPTable.hpp:146:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char*)&lcpLength, sizeof(lcpLength));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/LCPTable.hpp:151:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char*)&longPrefixMapSize, sizeof(longPrefixMapSize));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/LCPTable.hpp:153:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char*)&index, sizeof(index));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/LCPTable.hpp:154:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read((char*)&lcpLength, sizeof(lcpLength));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SharedSuffixArray.hpp:38:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        saIn.read((char *)&this->length, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:578:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&ckMagicNumber, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:588:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)componentList, sizeof(int) * ComponentListLength);
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:591:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void ReadAllocatedArray(std::ifstream &in) { in.read((char *)index, sizeof(int) * length); }
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:595:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&length, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:602:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&length, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:611:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)startPosTable, sizeof(int) * (lookupTableLength));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:612:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)endPosTable, sizeof(int) * (lookupTableLength));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:617:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&lookupTableLength, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/suffixarray/SuffixArray.hpp:618:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&lookupPrefixLength, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/tuples/DNATupleList.h:46:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&tupleSize, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/tuples/DNATupleList.h:47:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&tupleListLength, sizeof(DNALength));
data/pbseqlib-5.3.4+dfsg/alignment/tuples/DNATupleList.h:49:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&tupleList[0], sizeof(PositionDNATuple) * tupleListLength);
data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleCountTableImpl.hpp:92:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&countTableLength, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleCountTableImpl.hpp:93:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&nTuples, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleCountTableImpl.hpp:94:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&tm.tupleSize, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleCountTableImpl.hpp:98:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)countTable, sizeof(int) * countTableLength);
data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleListImpl.hpp:49:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    listIn.read((char *)&listLength, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleListImpl.hpp:50:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    listIn.read((char *)&tm.tupleSize, sizeof(int));
data/pbseqlib-5.3.4+dfsg/alignment/tuples/TupleListImpl.hpp:53:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    listIn.read((char *)&tupleList[0], sizeof(T) * listLength);
data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDF2DArrayImpl.hpp:189:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dataset.read(dest, typeID, destSpace, fullSourceSpace);
data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDFArrayImpl.hpp:431:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dataset.read(dest, typeID, destSpace, fullSourceSpace);
data/pbseqlib-5.3.4+dfsg/hdf/BufferedHDFArrayImpl.hpp:447:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dataset.read(&tmpStringArray[0], strType, destSpace, fullSourceSpace);
data/pbseqlib-5.3.4+dfsg/hdf/HDFAtom.cpp:98:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        attribute.read(stringType, value);
data/pbseqlib-5.3.4+dfsg/hdf/HDFAtom.cpp:102:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        attribute.read(stringType, &value[0]);
data/pbseqlib-5.3.4+dfsg/hdf/HDFAtom.cpp:113:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    attribute.read(intType, &value);
data/pbseqlib-5.3.4+dfsg/hdf/HDFAtom.cpp:120:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    attribute.read(intType, &value);
data/pbseqlib-5.3.4+dfsg/hdf/HDFAtom.cpp:127:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    attribute.read(intType, &value);
data/pbseqlib-5.3.4+dfsg/hdf/HDFAtom.cpp:134:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    attribute.read(uintType, &value);
data/pbseqlib-5.3.4+dfsg/hdf/HDFAtom.cpp:141:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    attribute.read(type, &value);
data/pbseqlib-5.3.4+dfsg/hdf/HDFAtom.cpp:164:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    attribute.read(attrType, &ptrsToHDFControlledMemory[0]);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBasReader.hpp:122:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    DNALength GetReadAt(UInt index, SMRTSequence &read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBasReader.hpp:135:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return GetNext(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:129:58:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::WriteOneZmw(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:132:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (zmwWriter_) OK = OK and zmwWriter_->WriteOneZmw(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:133:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (zmwMetricsWriter_) OK = OK and zmwMetricsWriter_->WriteOneZmw(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:135:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OK = OK and _WriteBasecall(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:137:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OK = OK and _WriteDeletionQV(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:138:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OK = OK and _WriteDeletionTag(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:139:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OK = OK and _WriteInsertionQV(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:140:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OK = OK and _WriteMergeQV(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:141:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OK = OK and _WriteSubstitutionTag(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:142:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OK = OK and _WriteSubstitutionQV(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:143:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OK = OK and _WriteIPD(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:144:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OK = OK and _WritePulseWidth(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:145:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OK = OK and _WritePulseIndex(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:147:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    arrayLength_ += read.length;
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:151:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::_WriteBasecall(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:153:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    basecallArray_.Write((const unsigned char*)read.seq, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:153:58:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    basecallArray_.Write((const unsigned char*)read.seq, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:179:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::_WriteDeletionQV(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:182:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.deletionQV.Empty()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:184:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            read.GetTitle());
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:187:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            deletionQVArray_.Write(read.deletionQV.data, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:187:58:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            deletionQVArray_.Write(read.deletionQV.data, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:194:64:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::_WriteDeletionTag(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:197:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.deletionTag == nullptr) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:199:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            read.GetTitle());
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:202:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            deletionTagArray_.Write(read.deletionTag, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:202:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            deletionTagArray_.Write(read.deletionTag, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:209:64:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::_WriteInsertionQV(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:212:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.insertionQV.Empty()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:214:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            read.GetTitle());
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:217:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            insertionQVArray_.Write(read.insertionQV.data, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:217:60:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            insertionQVArray_.Write(read.insertionQV.data, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:224:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::_WriteSubstitutionTag(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:227:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.substitutionTag == nullptr) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:229:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            read.GetTitle());
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:232:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            substitutionTagArray_.Write(read.substitutionTag, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:232:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            substitutionTagArray_.Write(read.substitutionTag, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:239:67:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::_WriteSubstitutionQV(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:242:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.substitutionQV.Empty()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:244:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            read.GetTitle());
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:247:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            substitutionQVArray_.Write(read.substitutionQV.data, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:247:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            substitutionQVArray_.Write(read.substitutionQV.data, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:254:60:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::_WriteMergeQV(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:257:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.mergeQV.Empty()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:259:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            read.GetTitle());
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:262:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            mergeQVArray_.Write(read.mergeQV.data, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:262:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            mergeQVArray_.Write(read.mergeQV.data, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:269:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::_WriteIPD(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:272:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.preBaseFrames == nullptr) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:274:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            read.GetTitle());
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:277:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            ipdArray_.Write(read.preBaseFrames, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:277:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            ipdArray_.Write(read.preBaseFrames, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:284:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::_WritePulseWidth(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:287:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.widthInFrames == nullptr) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:289:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            read.GetTitle());
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:292:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            pulseWidthArray_.Write(read.widthInFrames, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:292:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            pulseWidthArray_.Write(read.widthInFrames, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:299:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFBaseCallsWriter::_WritePulseIndex(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:302:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.copiedFromBam) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:303:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const PacBio::BAM::BamRecord& record = read.bamRecord;
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:306:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                std::vector<uint16_t> data(read.length, 0);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:311:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                        assert(indx < read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:318:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                assert(indx == read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:319:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                pulseIndexArray_.Write(&data[0], read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.cpp:324:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                        read.GetTitle());
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:38:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool WriteOneZmw(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:67:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteBasecall(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:70:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteQualityValue(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:73:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteDeletionQV(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:74:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteDeletionTag(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:75:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteInsertionQV(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:76:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteSubstitutionTag(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:77:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteSubstitutionQV(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:78:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteMergeQV(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:79:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteIPD(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:80:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WritePulseWidth(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFBaseCallsWriter.hpp:81:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WritePulseIndex(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:663:92:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void ImportReadFromCmpH5(int alignmentIndex, CmpAlignment &cmpAlignment, SMRTSequence &read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:672:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.HoleNumber(cmpAlignment.GetHoleNumber());
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:729:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.length = readSequence.size();
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:730:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.Allocate(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:730:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.Allocate(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:731:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        memcpy(read.seq, readSequence.c_str(), readSequence.size() * sizeof(char));
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:750:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.qual.data[0]);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:751:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            for (size_t i = 0; i < read.length; i++) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:752:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                assert(read.qual[i] < 100);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:758:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.insertionQV.data[0]);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:764:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                           &read.substitutionQV.data[0]);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:769:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.deletionQV.data[0]);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:776:83:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(deletionTagValues, baseToAlignmentMap, read.deletionTag);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:784:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                           read.substitutionTag);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:791:82:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(pulseIndexValues, baseToAlignmentMap, read.pulseIndex);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:796:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(frameValues, baseToAlignmentMap, read.preBaseFrames);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpFile.hpp:801:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(frameValues, baseToAlignmentMap, read.widthInFrames);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:532:64:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void ImportReadFromCmpH5(int alignmentIndex, SMRTSequence &read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:542:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.holeNumber = cmpAlignment.GetHoleNumber();
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:599:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.length = readSequence.size();
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:600:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.Allocate(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:600:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.Allocate(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:601:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        memcpy(read.seq, readSequence.c_str(), readSequence.size() * sizeof(char));
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:621:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.qual.data[0]);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:623:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            for (i = 0; i < read.length; i++) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:624:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                assert(read.qual[i] < 100);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:630:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.insertionQV.data[0]);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:636:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                           &read.substitutionQV.data[0]);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:641:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(qvValues, baseToAlignmentMap, &read.deletionQV.data[0]);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:648:83:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(deletionTagValues, baseToAlignmentMap, read.deletionTag);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:656:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                           read.substitutionTag);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:663:82:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(pulseIndexValues, baseToAlignmentMap, read.pulseIndex);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:668:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(frameValues, baseToAlignmentMap, read.preBaseFrames);
data/pbseqlib-5.3.4+dfsg/hdf/HDFCmpReader.hpp:673:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            StoreQualityValueFromAlignment(frameValues, baseToAlignmentMap, read.widthInFrames);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:420:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    int GetReadAt(int holeNumber, int *&basToPlsIndex, SMRTSequence &read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:428:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return GetNextFlattenedToBase(read, basToPlsIndex);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:466:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    int GetNextFlattenedToBase(SMRTSequence &read, int *basToPlsIndex)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:473:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        assert(read.seq != NULL);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:485:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                if (read.startFrame) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:486:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    delete[] read.startFrame;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:487:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    read.startFrame = NULL;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:489:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.startFrame = ProtectedNew<unsigned int>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:489:62:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.startFrame = ProtectedNew<unsigned int>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:490:60:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                StoreField(pulseStartFrame, basToPlsIndex, read.startFrame, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:490:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                StoreField(pulseStartFrame, basToPlsIndex, read.startFrame, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:497:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                if (read.widthInFrames) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:498:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    delete[] read.widthInFrames;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:499:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    read.widthInFrames = NULL;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:501:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.widthInFrames = ProtectedNew<HalfWord>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:501:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.widthInFrames = ProtectedNew<HalfWord>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:502:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                StoreField(pulseWidthInFrames, basToPlsIndex, read.widthInFrames, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:502:83:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                StoreField(pulseWidthInFrames, basToPlsIndex, read.widthInFrames, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:506:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                if (read.midSignal) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:507:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    delete[] read.midSignal;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:508:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    read.midSignal = NULL;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:510:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.midSignal = ProtectedNew<HalfWord>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:510:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.midSignal = ProtectedNew<HalfWord>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:512:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           read.seq, read.length, basToPlsIndex, read.midSignal);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:512:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           read.seq, read.length, basToPlsIndex, read.midSignal);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:512:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           read.seq, read.length, basToPlsIndex, read.midSignal);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:516:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                if (read.maxSignal) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:517:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    delete[] read.maxSignal;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:518:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    read.maxSignal = NULL;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:520:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.maxSignal = ProtectedNew<HalfWord>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:520:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.maxSignal = ProtectedNew<HalfWord>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:522:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           read.seq, read.length, basToPlsIndex, read.maxSignal);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:522:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           read.seq, read.length, basToPlsIndex, read.maxSignal);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:522:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           read.seq, read.length, basToPlsIndex, read.maxSignal);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:526:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                if (read.meanSignal) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:527:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    delete[] read.meanSignal;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:528:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    read.meanSignal = NULL;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:530:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.meanSignal = ProtectedNew<HalfWord>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:530:58:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.meanSignal = ProtectedNew<HalfWord>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:532:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           meanSignalNDims, read.seq, read.length, basToPlsIndex, read.meanSignal);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:532:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           meanSignalNDims, read.seq, read.length, basToPlsIndex, read.meanSignal);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:532:83:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           meanSignalNDims, read.seq, read.length, basToPlsIndex, read.meanSignal);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:539:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                if (read.classifierQV) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:540:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    delete[] read.classifierQV;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:541:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    read.classifierQV = NULL;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:543:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.classifierQV = ProtectedNew<float>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:543:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.classifierQV = ProtectedNew<float>(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:544:62:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                StoreField(pulseClassifierQV, basToPlsIndex, read.classifierQV, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:544:81:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                StoreField(pulseClassifierQV, basToPlsIndex, read.classifierQV, read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPlsReader.hpp:550:85:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            std::cout << "ERROR, could not read pulse metrics for SMRTSequence " << read.GetName()
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:252:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::WriteOneZmw(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:254:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const PacBio::BAM::BamRecord& record = read.bamRecord;
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:290:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::_CheckRead(const PacBio::BAM::BamRecord& read, const uint32_t qvLength,
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:294:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    (void)(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:314:73:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::_WritePulseCall(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:317:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.HasPulseCall()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:319:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const std::string& pulsecall = read.PulseCall();
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:321:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            _CheckRead(read, length, "PulseCall");
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:334:78:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                        std::string("Unrecognizable base in PulseCall of " + read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:337:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if (num_bases != read.Sequence().size()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:340:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    read.FullName());
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:347:74:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("PulseCall is absent in read " + read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:353:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::_WriteLabelQV(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:356:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.HasLabelQV()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:357:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const PacBio::BAM::QualityValues& qvs = read.LabelQV();
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:359:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            _CheckRead(read, data.size(), "LabelQV");
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:362:72:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("LabelQV is absent in read " + read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:368:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::_WritePkmean(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:371:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.HasPkmean()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:372:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            std::vector<float> pkmids = read.Pkmean();
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:381:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const std::string& pulsecall = read.PulseCall();
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:388:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("Pkmean is absent in read " + read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:394:76:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::_WritePulseMergeQV(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:397:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.HasPulseMergeQV()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:398:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const PacBio::BAM::QualityValues& qvs = read.PulseMergeQV();
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:400:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            _CheckRead(read, data.size(), "PulseMergeQV");
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:403:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("PulseMergeQV is absent in read " + read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:409:69:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::_WritePkmid(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:412:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.HasPkmid()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:413:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            std::vector<float> pkmids = read.Pkmid();
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:424:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("Pkmid is absent in read " + read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:430:74:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::_WriteStartFrame(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:433:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.HasStartFrame()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:434:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const std::vector<uint32_t> data = read.StartFrame();
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:435:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            _CheckRead(read, data.size(), "StartFrame");
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:438:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("StartFrame is absent in read " + read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:444:78:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::_WritePulseCallWidth(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:447:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.HasPulseCallWidth()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:449:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const PacBio::BAM::Tag& tag = read.Impl().TagValue("px");
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:451:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            _CheckRead(read, data.size(), "PulseCallWidth");
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:454:79:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("PulseCallWidth is absent in read " + read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:460:72:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::_WriteAltLabel(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:463:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.HasAltLabelTag()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:464:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const std::string& tags = read.AltLabelTag();
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:466:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            _CheckRead(read, data.size(), "AltLabel");
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:469:73:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("AltLabel is absent in read " + read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:475:74:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFPulseCallsWriter::_WriteAltLabelQV(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:478:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.HasAltLabelQV()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:479:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const PacBio::BAM::QualityValues& qvs = read.AltLabelQV();
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:481:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            _CheckRead(read, data.size(), "AltLabelQV");
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.cpp:484:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("AltLabelQV is absent in read " + read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp:37:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool WriteOneZmw(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp:79:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WritePulseCall(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp:80:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteLabelQV(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp:81:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WritePkmean(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp:82:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WritePulseMergeQV(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp:83:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WritePkmid(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp:84:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteStartFrame(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp:85:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WritePulseCallWidth(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp:86:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteAltLabel(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFPulseCallsWriter.hpp:87:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteAltLabelQV(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWMetricsWriter.cpp:32:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFZMWMetricsWriter::WriteOneZmw(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWMetricsWriter.cpp:37:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            snrs[baseMap_[base]] = read.HQRegionSnr(base);
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWMetricsWriter.cpp:40:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        readScoreArray_.Write(&read.readScore, 1);
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWMetricsWriter.cpp:41:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        productivityArray_.Write(&read.zmwData.holeStatus, 1);
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWMetricsWriter.hpp:57:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool WriteOneZmw(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:46:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFZMWWriter::WriteOneZmw(const SMRTSequence& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:48:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    _WriteNumEvent(read.length);
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:49:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    _WriteHoleNumber(read.HoleNumber());
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:50:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    _WriteHoleXY(static_cast<int16_t>(read.HoleX()), static_cast<int16_t>(read.HoleY()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:50:75:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    _WriteHoleXY(static_cast<int16_t>(read.HoleX()), static_cast<int16_t>(read.HoleY()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:51:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    _WriteHoleStatus(read.HoleStatus());
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:56:62:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFZMWWriter::WriteOneZmw(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:59:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (not read.HasPulseCall()) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:60:72:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("PulseCall absent in read ") + read.FullName());
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:62:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            _WriteNumEvent(read.PulseCall().size());
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:65:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        _WriteNumEvent(read.Sequence().size());
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:69:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint32_t hn_ = read.HoleNumber();
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:73:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    _WriteBaseLineSigma(read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:118:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool HDFZMWWriter::_WriteBaseLineSigma(const PacBio::BAM::BamRecord& read)
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:122:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.Impl().HasTag("bs")) {
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:123:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const PacBio::BAM::Tag& tag = read.Impl().TagValue("bs");
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:128:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                read.FullName()));
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.cpp:137:83:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            AddErrorMessage(std::string("Tag BaseLineSigma is absent in read ") + read.FullName());
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.hpp:53:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool WriteOneZmw(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.hpp:55:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool WriteOneZmw(const SMRTSequence& read);
data/pbseqlib-5.3.4+dfsg/hdf/HDFZMWWriter.hpp:119:60:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool _WriteBaseLineSigma(const PacBio::BAM::BamRecord& read);
data/pbseqlib-5.3.4+dfsg/pbdata/CommandLineParser.cpp:129:15:  [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 len = strlen(str);
data/pbseqlib-5.3.4+dfsg/pbdata/CommandLineParser.cpp:139:15:  [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 len = strlen(str);
data/pbseqlib-5.3.4+dfsg/pbdata/CommandLineParser.cpp:151:15:  [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 len = strlen(str);
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedDNASequence.hpp:34:23:  [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).
        titleLength = strlen(t);
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedSequenceImpl.hpp:159:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&hasTitle, sizeof(int));
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedSequenceImpl.hpp:160:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&hasIndex, sizeof(int));
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedSequenceImpl.hpp:163:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)&inTitleLength, sizeof(int));
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedSequenceImpl.hpp:165:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)inTitle, inTitleLength);
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedSequenceImpl.hpp:170:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&length, sizeof(DNALength));
data/pbseqlib-5.3.4+dfsg/pbdata/CompressedSequenceImpl.hpp:172:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)seq, length * sizeof(Nucleotide));
data/pbseqlib-5.3.4+dfsg/pbdata/DNASequence.cpp:353:31:  [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).
    DNALength moreSeqLength = strlen((char *)moreSeq);
data/pbseqlib-5.3.4+dfsg/pbdata/FASTASequence.cpp:26:12:  [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).
    return strlen(title) + DNASequence::GetStorageSize();
data/pbseqlib-5.3.4+dfsg/pbdata/FASTASequence.cpp:71:52:  [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).
void FASTASequence::CopyTitle(const char *str, int strlen)
data/pbseqlib-5.3.4+dfsg/pbdata/FASTASequence.cpp:81:28:  [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).
        memcpy(title, str, strlen);
data/pbseqlib-5.3.4+dfsg/pbdata/FASTASequence.cpp:82:23:  [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).
        titleLength = strlen;
data/pbseqlib-5.3.4+dfsg/pbdata/FASTASequence.hpp:46:41:  [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).
    void CopyTitle(const char *str, int strlen);
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:123:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        stream.read((char *)buffer, 1024);  // note that return value of read is unusable.
data/pbseqlib-5.3.4+dfsg/pbdata/MD5Utils.cpp:139:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        stream.read((char *)buffer, 1024);  // note that return value of read is unusable.
data/pbseqlib-5.3.4+dfsg/pbdata/PackedDNASequence.cpp:218:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&arrayLength, sizeof(arrayLength));
data/pbseqlib-5.3.4+dfsg/pbdata/PackedDNASequence.cpp:219:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&length, sizeof(length));
data/pbseqlib-5.3.4+dfsg/pbdata/PackedDNASequence.cpp:226:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        in.read((char *)seq, sizeof(PackedDNAWord) * arrayLength);
data/pbseqlib-5.3.4+dfsg/pbdata/ReverseCompressIndex.cpp:34:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&indexLength, sizeof(int));
data/pbseqlib-5.3.4+dfsg/pbdata/ReverseCompressIndex.cpp:35:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&binSize, sizeof(int));
data/pbseqlib-5.3.4+dfsg/pbdata/ReverseCompressIndex.cpp:36:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&maxRun, sizeof(int));
data/pbseqlib-5.3.4+dfsg/pbdata/ReverseCompressIndex.cpp:38:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)index, sizeof(int) * indexLength);
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp:174:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&mn, sizeof(int));
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp:185:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)&nSeqPos, sizeof(int));
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp:189:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)seqStartPos, sizeof(DNALength) * nSeqPos);
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp:196:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    in.read((char *)nameLengths, sizeof(int) * nSeq);
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/SequenceIndexDatabaseImpl.hpp:207:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            in.read(namePtr, nameLengths[i]);
data/pbseqlib-5.3.4+dfsg/pbdata/metagenome/TitleTable.cpp:18:23:  [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 lenStrI = strlen(src[i]);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:29:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void BaseFile::CopyReadAt(uint32_t readIndex, SMRTSequence &read)
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:32:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.HoleNumber(holeNumbers[readIndex]);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:35:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.HoleXY(holeXY[readIndex].xy[0], holeXY[readIndex].xy[1]);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:40:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.length = readLength;
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:41:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.Allocate(readLength);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:44:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopyArray(baseCalls, startPos, readLength, read.seq);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:48:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopyArray(qualityValues, startPos, readLength, read.qual.data);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:52:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopyArray(basWidthInFrames, startPos, readLength, read.widthInFrames);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:56:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopyArray(deletionQV, startPos, readLength, read.deletionQV.data);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:60:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopyArray(deletionTag, startPos, readLength, read.deletionTag);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:64:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopyArray(insertionQV, startPos, readLength, read.insertionQV.data);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:68:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopyArray(substitutionQV, startPos, readLength, read.substitutionQV.data);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:72:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopyArray(mergeQV, startPos, readLength, read.mergeQV.data);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:76:58:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopyArray(substitutionTag, startPos, readLength, read.substitutionTag);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.cpp:80:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopyArray(preBaseFrames, startPos, readLength, read.preBaseFrames);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/BaseFile.hpp:42:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void CopyReadAt(UInt readIndex, SMRTSequence &read);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:27:88:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void PulseFile::CopyReadAt(uint32_t plsReadIndex, int *baseToPulseIndex, SMRTSequence &read)
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:33:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = Realloc(read.midSignal, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:33:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = Realloc(read.midSignal, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:34:84:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopySignal(&midSignal[0], midSignalNDims, pulseStartPos, baseToPulseIndex, read.seq,
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:35:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                   read.length, read.midSignal);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:35:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                   read.length, read.midSignal);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:40:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = OK and Realloc(read.maxSignal, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:40:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = OK and Realloc(read.maxSignal, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:41:84:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopySignal(&maxSignal[0], maxSignalNDims, pulseStartPos, baseToPulseIndex, read.seq,
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:42:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                   read.length, read.maxSignal);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:42:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                   read.length, read.maxSignal);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:47:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = OK and Realloc(read.meanSignal, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:47:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = OK and Realloc(read.meanSignal, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:48:86:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        CopySignal(&meanSignal[0], meanSignalNDims, pulseStartPos, baseToPulseIndex, read.seq,
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:49:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                   read.length, read.meanSignal);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:49:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                   read.length, read.meanSignal);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:52:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = OK and Realloc(read.widthInFrames, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:52:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = OK and Realloc(read.widthInFrames, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:53:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        StoreField(plsWidthInFrames, baseToPulseIndex, read.widthInFrames, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:53:76:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        StoreField(plsWidthInFrames, baseToPulseIndex, read.widthInFrames, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:56:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = OK and Realloc(read.classifierQV, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:56:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = OK and Realloc(read.classifierQV, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:57:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        StoreField(classifierQV, baseToPulseIndex, read.classifierQV, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:57:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        StoreField(classifierQV, baseToPulseIndex, read.classifierQV, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:60:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = OK and Realloc(read.startFrame, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:60:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        OK = OK and Realloc(read.startFrame, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:61:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        StoreField(startFrame, baseToPulseIndex, read.startFrame, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.cpp:61:67:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        StoreField(startFrame, baseToPulseIndex, read.startFrame, read.length);
data/pbseqlib-5.3.4+dfsg/pbdata/reads/PulseFile.hpp:52:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void CopyReadAt(UInt plsReadIndex, int *baseToPulseIndex, SMRTSequence &read);

ANALYSIS SUMMARY:

Hits = 607
Lines analyzed = 93029 in approximately 6.60 seconds (14102 lines/second)
Physical Source Lines of Code (SLOC) = 77246
Hits@level = [0]   1 [1] 478 [2] 122 [3]   5 [4]   2 [5]   0
Hits@level+ = [0+] 608 [1+] 607 [2+] 129 [3+]   7 [4+]   2 [5+]   0
Hits/KSLOC@level+ = [0+] 7.87096 [1+] 7.85801 [2+] 1.66999 [3+] 0.0906196 [4+] 0.0258913 [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.