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/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/AffineAlignment.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Coverage.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/LFloat.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Matrix/DenseMatrix-inl.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Matrix/DenseMatrix.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Matrix/SparseMatrix-inl.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Matrix/SparseMatrix.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Matrix/SparseVector-inl.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Matrix/SparseVector.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Mutation-inl.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Mutation.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/PairwiseAlignment.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Poa/PoaConfig.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Poa/PoaConsensus.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Poa/PoaGraph.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Sequence.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Types.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/ConsensusCore/Version.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlgorithms.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAux.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamConstants.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamIndex.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamMultiReader.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamReader.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamWriter.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/IBamIODevice.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/SamConstants.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/SamHeader.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/SamProgram.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/SamProgramChain.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/SamReadGroup.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/SamReadGroupDictionary.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/SamSequence.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/SamSequenceDictionary.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/algorithms/Sort.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/api_global.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/shared/bamtools_global.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree_bench.cc
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree_container.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree_map.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree_set.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree_test.cc
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree_test.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree_test_flags.cc
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/safe_btree.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/safe_btree_map.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/safe_btree_set.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/btree/safe_btree_test.cc
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bwa/bntseq.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bwa/bwa.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bwa/bwamem.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bwa/bwt.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bwa/rle.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bwa/rope.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/bwa/utils.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/city/city.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/city/citycrc.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/clipp/clipp.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/posix.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_base.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_counting_listener.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_demangle.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_equals.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_listener.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_repeated_test.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_runner.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_suite.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_suite_test.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_test.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_test_incarnate.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_testmember.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_throws.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/cute_version.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/eclipse_listener.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/ide_listener.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/ostream_listener.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cute/vstudio_listener.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/cxxopts/cxxopts.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/edlib/edlib.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/folly/PackedSyncPtr.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/folly/Portability.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/folly/SmallLocks.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/getopt_pp/getopt_pp.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/getopt_pp/getopt_pp_standalone.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/gfa1/gfa.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/gqf/gqf.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/arena.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/atomic.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/base.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/bitmap.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/chunk.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/chunk_dss.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/chunk_mmap.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/ckh.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/ctl.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/extent.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/hash.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/huge.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/jemalloc_internal.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/mb.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/mutex.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/private_namespace.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/prng.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/prof.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/ql.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/qr.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/quarantine.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/rb.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/rtree.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/size_classes.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/stats.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/tcache.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/tsd.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/util.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/kseq/kseq.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/libcxx/sort.hpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/ArrayRef.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/DenseMap.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/DenseMapInfo.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/EpochTracker.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/FoldingSet.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/Hashing.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/IntrusiveRefCntPtr.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/None.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/Optional.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/PointerEmbeddedInt.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/PointerIntPair.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/PointerSumType.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/PointerUnion.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/STLExtras.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/SmallString.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/SmallVector.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/StringExtras.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/StringMap.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/StringRef.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/StringSwitch.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/Twine.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/edit_distance.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/ilist.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/ilist_node.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/iterator.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/iterator_range.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/AlignOf.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/PointerEmbeddedInt.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/PointerIntPair.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/PointerLikeTypeTraits.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/PointerSumType.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/AlignOf.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Allocator.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Atomic.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Casting.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Compiler.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/DataTypes.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Debug.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Errc.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Errno.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/ErrorHandling.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/ErrorOr.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/FileOutputBuffer.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/FileSystem.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/FileUtilities.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Format.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Host.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/LineIterator.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/MathExtras.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Memory.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/MemoryBuffer.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Mutex.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/MutexGuard.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Path.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/PointerLikeTypeTraits.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Regex.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/SMLoc.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Signals.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/SourceMgr.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/StringSaver.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/SwapByteOrder.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/TrailingObjects.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/UniqueLock.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/YAMLParser.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/YAMLTraits.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/raw_ostream.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/type_traits.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/sparsehash/internal/densehashtable.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/sparsehash/internal/hashtable-common.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/sparsehash/internal/libc_allocator_with_realloc.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/sparsehash/internal/sparseconfig.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/sparsehash/internal/sparsehashtable.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/sparsehash/template_util.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/sparsehash/type_traits.h
Examining data/spades-3.13.1+dfsg/assembler/ext/include/teamcity_boost/teamcity_boost.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/teamcity_boost/teamcity_messages.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/include/teamcity_boost/teamcity_messages.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/AffineAlignment.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Coverage.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Matrix/DenseMatrix.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Matrix/SparseMatrix.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Mutation.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/PairwiseAlignment.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Poa/PoaConfig.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Poa/PoaConsensus.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Poa/PoaGraph.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Sequence.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Utils.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Version.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/BamAlignment.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/BamMultiReader.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/BamReader.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/BamWriter.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/SamHeader.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/SamProgram.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/SamProgramChain.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/SamReadGroup.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/SamReadGroupDictionary.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/SamSequence.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/SamSequenceDictionary.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamHeader_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamHeader_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamMultiMerger_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamMultiReader_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamMultiReader_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamRandomAccessController_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamRandomAccessController_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamReader_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamReader_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamWriter_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamWriter_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/index/BamIndexFactory_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/index/BamIndexFactory_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/index/BamStandardIndex_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/index/BamStandardIndex_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/index/BamToolsIndex_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/index/BamToolsIndex_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/BamDeviceFactory_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/BamDeviceFactory_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/BamFile_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/BamFile_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/BgzfStream_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/BgzfStream_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/ByteArray_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/ByteArray_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/ILocalIODevice_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/ILocalIODevice_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/ParallelBgzfStream_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/ParallelBgzfStream_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/RollingBuffer_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/RollingBuffer_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/SerialBgzfStream_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/SerialBgzfStream_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/block.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/block.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/consumer.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/consumer.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/pbgzf.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/pbgzf.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/queue.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/queue.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/reader.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/reader.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/util.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/util.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/writer.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/writer.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/sam/SamFormatParser_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/sam/SamFormatParser_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/sam/SamFormatPrinter_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/sam/SamFormatPrinter_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/sam/SamHeaderValidator_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/sam/SamHeaderValidator_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/sam/SamHeaderVersion_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/utils/BamException_p.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/utils/BamException_p.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/cityhash/city.cc
Examining data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc
Examining data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/posix.cc
Examining data/spades-3.13.1+dfsg/assembler/ext/src/edlib/edlib.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/getopt_pp/getopt_pp.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/gfa.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kdq.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/khash.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kseq.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/ksort.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kstring.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kvec.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/gqf/gqf.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/arena.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/atomic.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/base.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/bitmap.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/chunk.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/chunk_dss.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/chunk_mmap.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ckh.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ctl.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/extent.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/hash.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/huge.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/jemalloc.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/mb.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/mutex.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/quarantine.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/rtree.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/stats.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/tcache.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/tsd.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/zone.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/Atomic.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/ErrorHandling.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/Hashing.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/LineIterator.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/MemoryBuffer.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/Mutex.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/Path.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/Regex.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/Signals.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/SmallVector.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/SourceMgr.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/StringMap.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/StringRef.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/Twine.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/Unix.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/YAMLParser.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/YAMLTraits.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/raw_ostream.cpp
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regcclass.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regcname.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regcomp.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regerror.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regex2.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regex_impl.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regexec.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regfree.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regstrlcpy.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regutils.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam2bcf.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam2bcf.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam2bcf_indel.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam2depth.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_aux.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_cat.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_color.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_endian.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_lpileup.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_mate.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_pileup.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_reheader.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_rmdup.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_rmdupse.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_stat.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview_curses.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview_html.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bamshuf.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bamtk.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcf.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcf.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcf2qcall.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcfutils.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/em.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/fet.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/kfunc.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/kmin.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/kmin.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/main.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/mut.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/prob1.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/prob1.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/vcf.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bedcov.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bedidx.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/cut_target.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/errmod.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/errmod.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/examples/bam2bed.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/examples/calDepth.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/examples/chk_indel.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kaln.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kaln.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/khash.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/klist.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kprobaln.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kprobaln.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kseq.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/ksort.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/ace2sam.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/maq2sam.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5fa.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sample.c
Examining data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sample.h
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/array_vector.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/bag.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/bf.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/chained_iterator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/concurrent_dsu.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/cqf.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/cyclichash.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/filter_iterator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/flat_map.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/flat_set.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/hll.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/iterator_range.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/kmer_vector.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/loser_tree.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/pointer_iterator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/queue_iterator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/adt/small_pod_vector.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/components/component_filters.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/components/connected_component.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/components/connected_component.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/components/graph_component.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/components/splitters.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/construction/debruijn_graph_constructor.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/construction/early_simplification.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/action_handlers.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/basic_graph_stats.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/construction_helper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/coverage.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/debruijn_data.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/directions.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/graph.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/graph_core.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/graph_iterators.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/observable_graph.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/order_and_law.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/dijkstra/dijkstra_algorithm.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/dijkstra/dijkstra_helper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/dijkstra/dijkstra_settings.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/dijkstra/length_calculator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/dijkstra/neighbours_iterator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/dijkstra/vertex_process_checker.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/dijkstra/vertex_put_checker.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/basic_edge_conditions.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/basic_vertex_conditions.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/chimera_stats.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/comparators.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/contig_output.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/coverage_filling.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/coverage_uniformity_analyzer.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/coverage_uniformity_analyzer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/detail_coverage.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/edge_removal.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/genomic_quality.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/graph_processing_algorithm.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/marks_and_locks.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/parallel_processing.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/scaff_supplementary.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/graph_support/scaff_supplementary.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/handlers/edge_labels_handler.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/handlers/edges_position_handler.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/handlers/id_track_handler.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/index/edge_index_builders.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/index/edge_info_updater.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/index/edge_multi_index.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/index/edge_position_index.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/bidirectional_path.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/bidirectional_path.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/bidirectional_path_container.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/bidirectional_path_io/bidirectional_path_output.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/bidirectional_path_io/bidirectional_path_output.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/bidirectional_path_io/io_support.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/bidirectional_path_io/io_support.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/mapping_path.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/path_finders.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/path_processor.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/path_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/stats/statistics.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/stats/picture_dump.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/empty.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/func/function_traits.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/func/pred.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/dataset_readers.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/read_converter.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/graph/fastg_writer.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/graph/fastg_writer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/graph/gfa_reader.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/graph/gfa_reader.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/graph/gfa_writer.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/graph/gfa_writer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/kmer_iterator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_writer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_converter.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/converting_reader_wrapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/coverage_filtering_read_wrapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/delegating_reader_wrapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/fasta_fastq_gz_parser.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/file_reader.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/filtering_reader_wrapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/header_naming.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/io_helper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireader.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireadstream.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/longest_valid_wrapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/mpmc_bounded.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/multifile_reader.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/orientation.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/paired_read.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/paired_readers.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/parser.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/parser.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/rc_reader_wrapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/read.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/read_processor.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/read_stream_vector.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/sequence_reader.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/single_read.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/splitting_wrapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/vector_reader.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/sam/bam_parser.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/sam/bam_reader.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/sam/read.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/sam/read.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/io/utils/edge_namer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/math/log.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/math/smooth.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/math/xmath.h
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/bwa_index.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/bwa_index.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/bwa_sequence_mapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/edge_index.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/edge_index_refiller.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/edge_index_refiller.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/kmer_mapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/kmer_mapper_logger.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/long_read_mapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/long_read_storage.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/pacbio/pacbio_read_structures.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/pacbio/pac_index.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/sequence_mapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/sequence_mapper_notifier.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/kmer_map.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/coverage_model/kmer_coverage_model.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/coverage_model/kmer_coverage_model.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/genome_consistance_checker.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/genome_consistance_checker.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/graph_construction.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/graph_read_correction.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/mismatch_shall_not_pass.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/extension_chooser.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/ideal_pair_info.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/loop_traverser.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/paired_library.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/path_extender.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/path_filter.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/path_visualizer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pe_config_struct.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pe_config_struct.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pe_resolver.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pe_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pipeline/extenders_logic.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pipeline/extenders_logic.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pipeline/launch_support.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pipeline/launch_support.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pipeline/launcher.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pipeline/launcher.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/connection_condition2015.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/connection_condition2015.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/extension_chooser2015.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/extension_chooser2015.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/path_polisher.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/path_polisher.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/scaffold_graph.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/scaffold_graph.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/scaffold_graph_constructor.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/scaffold_graph_constructor.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/scaffold_graph_visualizer.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/scaffold_graph_visualizer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/weight_counter.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/overlap_analysis.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/bulge_remover.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/cleaner.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/complex_bulge_remover.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/complex_tip_clipper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/compressor.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/dominated_set_finder.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/ec_threshold_finder.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/erroneous_connection_remover.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/mf_ec_remover.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/parallel_simplification_algorithms.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/relative_coverage_remover.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/tip_clipper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/modules/simplification/topological_edge_conditions.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/concurrent_pair_info_buffer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/data_divider.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/distance_estimation.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/distance_estimation.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/histogram.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/histptr.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/index_point.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/insert_size_refiner.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/is_counter.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/pair_info_bounds.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/pair_info_filler.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/pair_info_filters.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/pair_info_improver.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/paired_info.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/paired_info_buffer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/paired_info_helpers.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/peak_finder.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/smoothing_distance_estimation.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/smoothing_distance_estimation.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/split_path_constructor.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/weighted_distance_estimation.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/weighted_distance_estimation.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/paired_info/weights.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/config_common.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/config_singl.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/config_struct.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/config_struct.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/configs/aligner_config.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/genomic_info.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/genomic_info_filler.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/genomic_info_filler.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graph_pack.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/library.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/library.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/stage.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/pipeline/stage.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/genome_storage.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/levenshtein.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/nucl.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/quality.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/range.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/rtseq.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/seq.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/seq_common.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/sequence.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/sequence_tools.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/sequence_tools.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/sequence/simple_seq.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/stages/construction.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/stages/construction.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/stages/simplification.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/stages/simplification.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/stages/simplification_pipeline/graph_simplification.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/stages/simplification_pipeline/rna_simplification.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/stages/simplification_pipeline/simplification_settings.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/stages/simplification_pipeline/single_cell_simplification.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/stages/ss_edge_split.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/stages/ss_edge_split.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/autocompletion.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/autocompletion.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/cpp_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/extension_index/kmer_extension_index.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/extension_index/kmer_extension_index_builder.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/filesystem/copy_file.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/filesystem/copy_file.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/filesystem/file_limit.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/filesystem/path_helper.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/filesystem/path_helper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/filesystem/temporary.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/filesystem/temporary.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_counting.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/1.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index_builder.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index_traits.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_splitters.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/logger/log_writers.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/logger/logger.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/logger/logger_impl.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/memory_limit.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/memory_limit.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/parallel/openmp_wrapper.h
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/parallel/parallel_wrapper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/perf/memory.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/perf/perfcounter.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/ph_map/key_with_hash.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/ph_map/perfect_hash_map.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/ph_map/perfect_hash_map_builder.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/ph_map/storing_traits.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/ph_map/values.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/stacktrace.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/standard_base.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/stl_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/verify.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/utils/segfault_handler.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/visualization/graph_colorer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/visualization/graph_labeler.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/visualization/graph_print_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/visualization/graph_printer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/visualization/position_filler.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/visualization/printing_parameter_storage.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/visualization/vertex_linker.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/visualization/visualization.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/visualization/visualization_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/common/visualization/visualizers.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/assembly_compare.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/assembly_problem_detection.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_commands.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_config_struct.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_environment.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_environment_manager.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_graph_pack.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_kmer_index.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_logger.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_online_visualizer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/colored_graph_construction.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/coloring.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/compare_standard.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/comparison_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/coordinates_handler.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/deprecated/kmer_jumper.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/deprecated/longseq_storage.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/deprecated/tools_deprecated.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/diff_masking.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/gene_analysis.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/genome_correction.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/graph_traversal_constraints.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/junk_cropping_reader.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/longseq.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/mosaic.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/path_projector.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/polynomial_hash.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/repeat_masking.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/serialization.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/simple_indel_finder.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/simple_inversion_finder.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/stats.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/test_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/tools.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/untangling.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/cap/visualization.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/config_struct.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/config_struct.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/interesting_pos_processor.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/interesting_pos_processor.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/positional_read.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/positional_read.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/corrector/variants_table.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/gbuilder/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/gmapper/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/config_struct_hammer.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/config_struct_hammer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/expander.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/expander.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/gen_test_data/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/globals.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/hamcluster.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/hammer_tools.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/hammer_tools.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_cluster.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_cluster.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_stat.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/parallel_radix_sort.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/Read.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/Read.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/bithash.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/bithash.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/correct.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.C
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/kmer_freq_info.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_17.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_19.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_21.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_25.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_29.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_33.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_37.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_45.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_55.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_65.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_75.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/valid_kmer_generator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/correct_hist/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count/count.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted_enh/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/generate_limits/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/options.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/options.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_graph/prepare_graph.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_hist.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_limits.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/quake.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/test_correction_quality/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/read_corrector.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/read_corrector.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/valid_kmer_generator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/hammer/hamcluster.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/HSeq.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/config_struct.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/config_struct.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/consensus.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/err_helper_table.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/err_helper_table.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/flow_space_read.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/gamma_poisson_model.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/gamma_poisson_model.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/hamcluster_1.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/hamcluster_1.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/hkmer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/hkmer_distance.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/kmer_data.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/kmer_data.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/kmer_evaluator.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/kmer_helpers.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/kmer_helpers.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/normal_quality_model.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/normal_quality_model.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/quality_metrics.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/quality_metrics.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/quality_thresholds_estimator.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/quality_thresholds_estimator.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/reference.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/reference.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/BaseCallerUtils.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/BaseHypothesisEvaluator.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/BaseHypothesisEvaluator.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/subcluster.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/subcluster.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/thread_utils.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/valid_hkmer_generator.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/kmercount/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/kmercount/read_filter.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/annotation.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/annotation.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/contig_abundance.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/contig_abundance.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/contig_abundance_counter.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/formats.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.C
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmer_api.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmer_api.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmer_defs.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/mmer.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/mmer.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/stdafx.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmer_multiplicity_counter.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/logger.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/prop_binning.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/propagate.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/propagate.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/read_binning.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/read_binning.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/stats.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/mts/visualization.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/argument_list.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/base_commands.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/command_mapping.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/debruijn_commands.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/debruijn_environment.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/debruijn_online_visualizer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_connected_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_contig_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_missasemblies.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_part_of_genome_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_polymorphic_regions.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_poorly_assembled.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_position_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/drawing_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/show_position_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/environment.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/errors.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/history.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/loaded_environments.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/online_visualizer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/position_commands.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/position_commands/clear_position_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/position_commands/fill_position_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/processing_commands.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/setting_commands.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/standard_vis.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/junction_sequence_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_contigs_stats.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_edge_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_paths_command.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/vis_logger.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/vis_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/scaffold_correction/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/scaffold_correction/scaffold_correction.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/chromosome_removal.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/chromosome_removal.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/contig_output_stage.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/contig_output_stage.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/distance_estimation.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/distance_estimation.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/gap_closer.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/gap_closer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/gap_closing.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_gap_closer.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/launch.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/mismatch_correction.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/mismatch_correction.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/pair_info_count.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/pair_info_count.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/repeat_resolving.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/repeat_resolving.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/second_phase_setup.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/second_phase_setup.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/series_analysis.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/spades/series_analysis.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/AlignmentAnalyserNew.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/AlignmentAnalyserNew.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/alignment_analyser.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/alignment_analyser.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/analysis_pipeline.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/analysis_pipeline.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/consistent_mapping.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/consistent_mapping.h
Examining data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/cap/inversions_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/cap/lseq_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/cap/synthetic_tests.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/cap/test_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/cap/tests/inversions/gen.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/debruijn_graph_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/detail_coverage_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/generate_component.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/order_and_law_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/overlap_analysis_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/overlap_removal_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/pair_info_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/paired_info_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/path_extend_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/reference_fixer.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/short_edge_contractor.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/simplification_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/test.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn/test_utils.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/debruijn_tools/tools.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/hammer/test.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/hammer/valid_kmer_generator_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/cyclic_hash_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/ireadstream_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/nucl_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/offline_graph_visualizer_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/online_graph_visualizer_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/paired_read_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/parser_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/quality_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/read_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/rtseq_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/seq_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/sequence_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/similar_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/single_read_test.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/include_test/test.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/memory.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphConstructionTest.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/hashTableTest.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/pairThreadingTest.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/pairedGraphTest.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/test.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/correctionEvaluatorIon/cgce/cgce.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/correctionEvaluatorIon/evaluate_kmers/kmer_evaluator.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/correctionEvaluatorIon/test_distance/test_distance.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/cuckoo_test/cuckoo_test.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/filter/filter.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/libtrie/Exception.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/libtrie/Exception.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/libtrie/Trie.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/libtrie/TrieFactory.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/libtrie/TrieNode.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/AdditionalFunction.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/AdditionalFunction.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/algoritms/CountMinSketch.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/algoritms/CountMinSketch.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/algoritms/DistinctElements.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/algoritms/DistinctElements.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/algoritms/Frequent.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/algoritms/Frequent.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/algoritms/LossyCounting.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/algoritms/LossyCounting.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/algoritms/SpaceSaving.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/algoritms/SpaceSaving.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/analyses.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/analyses.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/commandline.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/commandline.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/main.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/maps_test/filter.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/nucmer_tool/nucmer_coords_tool.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/nucmer_tool/nucmer_coords_tool.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/nucmer_tool/nucmer_tool_test.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/Read.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/Read.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/bithash.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/bithash.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/correct.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.C
Examining data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.h
Examining data/spades-3.13.1+dfsg/assembler/src/tools/readsReformatter.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c
Examining data/spades-3.13.1+dfsg/assembler/src/tools/seq_filter.hpp
Examining data/spades-3.13.1+dfsg/assembler/src/tools/seq_filter_stat.hpp

FINAL RESULTS:

data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/jemalloc.c:432:19:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
			if ((linklen = readlink(linkname, buf,
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:233:5:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
    strcat(originalTagData.Buffer + tagDataLength, newTag.data());
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:282:5:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
    strcat(originalTagData.Buffer + tagDataLength, newTag.data());
data/spades-3.13.1+dfsg/assembler/ext/include/bwa/utils.h:77:27:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        ATTRIBUTE((format(printf, 2, 3)));
data/spades-3.13.1+dfsg/assembler/ext/include/bwa/utils.h:79:27:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        ATTRIBUTE((format(printf, 1, 2)));
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:2162:6:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
void printf(BasicWriter<Char> &w, BasicStringRef<Char> format, ArgList args) {
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:2175:20:  [4] (format) sprintf:
  Potential format string problem (CWE-134). Make format string constant.
inline std::string sprintf(StringRef format, ArgList args) {
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:2177:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  printf(w, format, args);
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:2190:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int fprintf(std::FILE *f, StringRef format, ArgList args);
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:2201:12:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
inline int printf(StringRef format, ArgList args) {
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:2202:10:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  return fprintf(stdout, format, args);
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:2420:27:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
FMT_VARIADIC(std::string, sprintf, StringRef)
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:2421:19:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
FMT_VARIADIC(int, printf, StringRef)
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:2422:19:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
FMT_VARIADIC(int, fprintf, std::FILE *, StringRef)
data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/util.h:96:26:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    JEMALLOC_ATTR(format(printf, 3, 4));
data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/util.h:100:51:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    const char *format, ...) JEMALLOC_ATTR(format(printf, 3, 4));
data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/util.h:102:26:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    JEMALLOC_ATTR(format(printf, 1, 2));
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/FileSystem.h:335:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
std::error_code access(const Twine &Path, AccessMode Mode);
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/FileSystem.h:342:11:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  return !access(Path, AccessMode::Exist);
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/FileSystem.h:356:11:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
  return !access(Path, AccessMode::Write);
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/Format.h:85:12:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
    return snprintf(Buffer, BufferSize, Fmt, std::get<Is>(Vals)...);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:311:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(fp->retr, "RETR %s\r\n", p);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:313:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(fp->size_cmd, "SIZE %s\r\n", p);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:412:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	l += sprintf(buf + l, "GET %s HTTP/1.0\r\nHost: %s\r\n", fp->path, fp->http_host);
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:92:23:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
# define FMT_SNPRINTF snprintf
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:380:9:  [4] (format) swprintf:
  Potential format string problem (CWE-134). Make format string constant.
        swprintf(buffer, size, format, value) :
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:381:9:  [4] (format) swprintf:
  Potential format string problem (CWE-134). Make format string constant.
        swprintf(buffer, size, format, precision, value);
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:384:7:  [4] (format) swprintf:
  Potential format string problem (CWE-134). Make format string constant.
      swprintf(buffer, size, format, width, value) :
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:385:7:  [4] (format) swprintf:
  Potential format string problem (CWE-134). Make format string constant.
      swprintf(buffer, size, format, width, precision, value);
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:1089:10:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
int fmt::fprintf(std::FILE *f, StringRef format, ArgList args) {
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:1091:3:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  printf(w, format, args);
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kstring.h:151:6:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	l = vsnprintf(s->s + s->l, s->m - s->l, fmt, ap); // This line does not work with glibc 2.0. See `man snprintf'.
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kstring.h:158:7:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
		l = vsnprintf(s->s + s->l, s->m - s->l, fmt, ap);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:81:26:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    JEMALLOC_ATTR(format(printf, 2, 3));
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:608:22:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
JEMALLOC_ATTR(format(printf, 2, 3))
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:580:22:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
JEMALLOC_ATTR(format(printf, 3, 4))
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:619:22:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
JEMALLOC_ATTR(format(printf, 3, 4))
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:632:22:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
JEMALLOC_ATTR(format(printf, 1, 2))
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/Path.cpp:174:18:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
        sys::fs::access(ResultPath.begin(), sys::fs::AccessMode::Exist);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:89:3:  [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(s, str->s);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:402:2:  [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(fnidx, fn); strcat(fnidx, ".bai");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:407:4:  [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(fnidx, fn);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:464:10:  [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).
		strcat(strcpy(fnidx, fn), ".bai");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:492:3:  [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(fnidx, fn); strcat(fnidx, ".bai");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:544:28:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
				while (!feof(fp_rg) && fscanf(fp_rg, "%s", buf) > 0) // this is not a good style, but forgive me...
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:342:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(newtext, "@HD\tVN:1.3\tSO:%s\n", so);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:343:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		strcat(newtext, h->text);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:348:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(newtext + (beg - h->text), "\tSO:%s", so);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:349:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		strcat(newtext, end);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:392:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(name, "%s.%.4d.bam", w->prefix, w->index);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:495:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	else sprintf(fnout, "%s%s", prefix, suffix);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:510:4:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
			sprintf(fns[i], "%s.%.4d%s", prefix, i, suffix);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview.c:259:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(str, "%s:%d-%d", tv->header->target_name[tv->curr_tid], tv->left_pos + 1, tv->left_pos + tv->mcol);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview.c:296:9:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        vfprintf(stderr, format, ap);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview_curses.c:64:2:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	vsnprintf(str,size, fmt, argptr);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview_html.c:46:9:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	nchars=vsnprintf(str,size, fmt, argptr);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bamshuf.c:68:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(fnt[i], "%s.%.4d.bam", pre, i);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bamshuf.c:87:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
		sprintf(fnw, "%s.bam", pre);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:223:3:  [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(sam[n], s.s);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/fet.c:105:9:  [4] (buffer) scanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
	while (scanf("%s%d%d%d%d", id, &n11, &n12, &n21, &n22) == 5) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:211: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).
	strcat(strcpy(fnidx, fn), ".bci");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:256:3:  [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(fnidx, fn); strcat(fnidx, ".bci");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:125:5:  [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(name, argv[optind]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:195:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(str, "%s.fai", fn);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:264:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(str, "%s.fai", fn);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:311:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(fp->retr, "RETR %s\r\n", p);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:313:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(fp->size_cmd, "SIZE %s\r\n", p);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:412:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	l += sprintf(buf + l, "GET %s HTTP/1.0\r\nHost: %s\r\n", fp->path, fp->http_host);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.c:13:6:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
	l = vsnprintf(s->s + s->l, s->m - s->l, fmt, ap); // This line does not work with glibc 2.0. See `man snprintf'.
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.c:20:7:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
		l = vsnprintf(s->s + s->l, s->m - s->l, fmt, ap);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:1324:9:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
        vfprintf(stderr, format, ap);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:367:3:  [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(newtext, header->text);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:409:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		strcat(out_mode, tmp);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:563:3:  [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(s, g.pre); strcat(s, ".0.bam"); g.out[0] = bam_open(s, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:564:3:  [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(s, g.pre); strcat(s, ".1.bam"); g.out[1] = bam_open(s, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:565:3:  [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(s, g.pre); strcat(s, ".chimera.bam"); g.out[2] = bam_open(s, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:83:5:  [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(name, argv[optind]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c:173: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).
	strcat(strcpy(fn_list, fn_ref), ".fai");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c:174:6:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	if (access(fn_list, R_OK) == -1) { // fn_list is unreadable
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c:175:7:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		if (access(fn_ref, R_OK) == -1) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:58:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vfprintf(stderr, format, ap);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:556:21:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            nout += sprintf(out+nout,"%s", tag->value);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:186:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
		strcat(out_mode, tmp);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:197:26:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
		while (!feof(fp_rg) && fscanf(fp_rg, "%s", buf) > 0) // this is not a good style, but bear me...
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:519:30:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
                read_count = sscanf(cur_str, "%s [%d - %d] --> [%d - %d]", contigId,
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:647:24:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
                flag = fscanf(sequence_file, ">%zu\n%s\n", &e_real_id_tmp, longstring);
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:649:24:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
                flag = fscanf(sequence_file, "%zu %s .", &e_real_id_tmp, longstring);
data/spades-3.13.1+dfsg/assembler/src/common/utils/filesystem/path_helper.cpp:33:29:  [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).
    if ((actual = ::mkdtemp(strcpy(new char[name.length() + 1], name.c_str())))
data/spades-3.13.1+dfsg/assembler/src/projects/cap/test_utils.hpp:94:12:  [4] (shell) popen:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  output = popen("echo a | md5sum 2> /dev/null", "r");
data/spades-3.13.1+dfsg/assembler/src/projects/cap/test_utils.hpp:95:12:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  if (1 == fscanf(output, "%s", buf) &&
data/spades-3.13.1+dfsg/assembler/src/projects/cap/test_utils.hpp:101:12:  [4] (shell) popen:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  output = popen("echo a | md5 2> /dev/null", "r");
data/spades-3.13.1+dfsg/assembler/src/projects/cap/test_utils.hpp:102:12:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  if (1 == fscanf(output, "%s", buf) &&
data/spades-3.13.1+dfsg/assembler/src/projects/cap/test_utils.hpp:126:22:  [4] (shell) popen:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  FILE *md5_output = popen(("(head -n 1000 " + accum_string + "&& echo " + salt
data/spades-3.13.1+dfsg/assembler/src/projects/cap/test_utils.hpp:131:15:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  VERIFY(1 == fscanf(md5_output, "%s", buf));
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp:141:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    run_res = system(index_line.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp:150:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    run_res = system(last_line.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp:166:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    run_res = system(index_line.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp:174:15:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    run_res = system(last_line.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:105:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
  strcat(mycmd, fqf_zip.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:107:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
  strcat(mycmd, fqf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:108:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system(mycmd);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted/main.cpp:80:10:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  while (fscanf(ifile, format, kmer, &count, &q_count, &freq) != EOF) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted_enh/main.cpp:94:10:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  while (fscanf(ifile, format, kmer, &count, &q_count, &freq) != EOF) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_graph/prepare_graph.cpp:92:10:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  while (fscanf(ifile, format, kmer, &count, &q_count, &freq) != EOF) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_hist.cpp:42:10:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  while (fscanf(ifile, format, kmer, &count, &q_count, &freq) != EOF) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/test_correction_quality/main.cpp:80:10:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  while (fscanf(genom_file, format, kmer, &count, &q_count, &freq) != EOF) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/test_correction_quality/main.cpp:87:10:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  while (fscanf(trust_file, format, kmer, &count, &q_count, &freq) != EOF) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/test_correction_quality/main.cpp:97:10:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
  while (fscanf(bad_file, format, kmer, &count, &q_count, &freq) != EOF) {
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/drawing_command.hpp:76:22:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        int result = system(command_line_string.str().c_str());
data/spades-3.13.1+dfsg/assembler/src/test/cap/tests/inversions/gen.cpp:58:3:  [4] (buffer) scanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
  scanf("%d %d %s %s", &L, &N, file1, file2);
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:59:14:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
        if (!fscanf(pFile, "%s", buf) || !fscanf(pFile, "%i", &count)) {
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:77:14:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
        if (!fscanf(pFile, "%s", buf)) {
data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/analyses.h:36:9:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        system("gnuplot ./file.gnu");
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:105:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
  strcat(mycmd, fqf_zip.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:107:3:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
  strcat(mycmd, fqf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:108:3:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  system(mycmd);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:147:5:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
int snprintf(char *, int, char *, ...);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:360:2:  [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(c+1, IFNEW(proc[i].pi_comm,user.ui_comm));
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:409:5:  [4] (buffer) fscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function.
    fscanf(tn, "%ld %s %*c %ld %ld",
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:459:30:  [4] (shell) popen:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    if (NULL == (tn = (FILE*)popen(command,"r"))) {
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:519:11:  [4] (buffer) sscanf:
  The scanf() family's %s operation, without a limit specification, permits
  buffer overflows (CWE-120, CWE-20). Specify a limit to %s, or use a
  different input function. If the scanf format is influenceable by an
  attacker, it's exploitable.
    num = sscanf(line, PSFORMAT, PSVARS);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:704:3:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
  snprintf(out, sizeof(out),
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:931:5:  [4] (format) snprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
int snprintf(char *name, int namesiz, char *format, ...)
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:937:12:  [4] (format) vsprintf:
  Potential format string problem (CWE-134). Make format string constant.
  retval = vsprintf(bigbuf,format,ap);
data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree_bench.cc:54:5:  [3] (random) srand:
  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.
    srand(seed);
data/spades-3.13.1+dfsg/assembler/ext/include/getopt_pp/getopt_pp.h:392:30:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	template <class T> inline T getopt(char short_opt, const std::string& long_opt) throw(GetOptEx)
data/spades-3.13.1+dfsg/assembler/ext/include/getopt_pp/getopt_pp.h:399:30:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	template <class T> inline T getopt(char short_opt, const std::string& long_opt, const T& def_value)
data/spades-3.13.1+dfsg/assembler/ext/include/getopt_pp/getopt_pp.h:407:30:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	template <class T> inline T getopt(char short_opt) throw(GetOptEx)
data/spades-3.13.1+dfsg/assembler/ext/include/getopt_pp/getopt_pp.h:414:30:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	template <class T> inline T getopt(char short_opt, const T& def_value)
data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/mutex.h:73:3:  [3] (misc) EnterCriticalSection:
  On some versions of Windows, exceptions can be thrown in low-memory
  situations. Use InitializeCriticalSectionAndSpinCount instead.
		EnterCriticalSection(&mutex->lock);
data/spades-3.13.1+dfsg/assembler/ext/include/teamcity_boost/teamcity_messages.cpp:38:26:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    const char *flowId = getenv("TEAMCITY_PROCESS_FLOW_ID");
data/spades-3.13.1+dfsg/assembler/ext/include/teamcity_boost/teamcity_messages.cpp:55:12:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    return getenv("TEAMCITY_PROJECT_NAME") != NULL;
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:386:10:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
	proxy = getenv("http_proxy");
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/jemalloc.c:457:16:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
			if ((opts = getenv(envname)) != NULL) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam2depth.c:53:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((n = getopt(argc, argv, "r:b:q:Q:l:f:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_aux.c:213:8:  [3] (random) drand48:
  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.
double drand48()
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_cat.c:163:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "h:o:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_mate.c:115:17:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
    while ((c = getopt(argc, argv, "r")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:320:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "EqreuNhbSC:n:Ad")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:499:14:  [3] (buffer) getopt_long:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt_long(argc, argv, "Agf:r:l:M:q:Q:uaRC:BDSd:L:b:P:po:e:h:Im:F:EG:6OsV1:2:",lopts,NULL)) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_rmdup.c:183:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "sS")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:270:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "h:nru1R:f@:l:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:540:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "fnom:@:l:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview.c:313:17:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
    while ((c = getopt(argc, argv, "s:p:d:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview_html.c:293:15:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
	char* colstr=getenv("COLUMNS");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bamshuf.c:121:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "n:l:uO")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcfutils.c:10:20:  [3] (random) srand:
  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.
#define srand48(x) srand(x)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcfutils.c:11:9:  [3] (random) drand48:
  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.
#define drand48() ((double)rand() / RAND_MAX)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcfutils.c:364:13:  [3] (random) drand48:
  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.
		j = (int)(drand48() * i);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:12:20:  [3] (random) srand:
  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.
#define srand48(x) srand(x)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:13:9:  [3] (random) lrand48:
  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.
#define lrand48() rand()
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:347:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "FN1:l:cC:eHAGvbSuP:t:p:QgLi:IMs:D:U:X:d:T:Ywm:K:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:448:46:  [3] (random) lrand48:
  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.
		for (c = 0; c < vc.n_perm; ++c) seeds[c] = lrand48();
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bedcov.c:41:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "Q:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bedidx.c:8:9:  [3] (random) drand48:
  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.
#define drand48() ((double)rand() / RAND_MAX)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:87:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while((c  = getopt(argc, argv, "cdhfb:s:")) >= 0){
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/cut_target.c:145:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "f:Q:i:o:0:1:2:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:386:10:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
	proxy = getenv("http_proxy");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kprobaln.c:255:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "b:q:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/ksort.h:263:14:  [3] (random) drand48:
  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.
			j = (int)(drand48() * i);									\
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/ace2sam.c:74:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "pc")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:1381:18:  [3] (buffer) getopt_long:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
    while ( (opt=getopt_long(argc,argv,"?hdsr:c:l:i:t:m:q:f:F:I:1:",loptions,NULL))>0 )
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:73:15:  [3] (random) drand48:
  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.
			v1 = 2.0 * drand48() - 1.0;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:74:15:  [3] (random) drand48:
  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.
			v2 = 2.0 * drand48() - 1.0; 
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:118:17:  [3] (random) drand48:
  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.
            if (drand48() < INDEL_EXTEND) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:124:16:  [3] (random) drand48:
  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.
		if (c < 4 && drand48() < MUT_RATE) { // mutation
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:125:8:  [3] (random) drand48:
  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.
			if (drand48() >= INDEL_FRAC) { // substitution
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:126:16:  [3] (random) drand48:
  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.
				double r = drand48();
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:128:19:  [3] (random) drand48:
  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.
				if (is_hap || drand48() < 0.333333) { // hom
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:131:10:  [3] (random) drand48:
  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.
					ret[drand48()<0.5?0:1]->s[i] = SUBSTITUTE|c;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:134:9:  [3] (random) drand48:
  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.
				if (drand48() < 0.5) { // deletion
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:135:20:  [3] (random) drand48:
  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.
					if (is_hap || drand48() < 0.333333) { // hom-del
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:139:36:  [3] (random) drand48:
  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.
                        deleting = drand48()<0.5?1:2;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:146:50:  [3] (random) drand48:
  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.
                        ins = (ins << 2) | (int)(drand48() * 4.0);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:147:45:  [3] (random) drand48:
  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.
                    } while (num_ins < 4 && drand48() < INDEL_EXTEND);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:149:20:  [3] (random) drand48:
  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.
					if (is_hap || drand48() < 0.333333) { // hom-ins
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:152:11:  [3] (random) drand48:
  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.
						ret[drand48()<0.5?0:1]->s[i] = (num_ins << 12) | (ins << 4) | c;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:272:31:  [3] (random) drand48:
  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.
				pos = (int)((l - d + 1) * drand48());
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:276:8:  [3] (random) drand48:
  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.
			if (drand48() < 0.5) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:286:18:  [3] (random) drand48:
  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.
			target = rseq[drand48()<0.5?0:1].s; // haplotype from which the reads are generated
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:327:17:  [3] (random) drand48:
  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.
					} else if (drand48() < ERR_RATE) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:392:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "e:d:s:N:1:2:r:R:hX:S:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:389:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "Sso:u1T:?")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:314:13:  [3] (random) drand48:
  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.
	is_flip = (drand48() < 0.5);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:337:28:  [3] (random) drand48:
  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.
		if (which == 3) which = (drand48() < 0.5);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:526:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "Q:eFq:k:b:l:D:A:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:56:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while((c  = getopt(argc, argv, "cdlhfb:s:")) >= 0){
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:138:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "SbBct:h1Ho:q:f:F:ul:r:xX?T:R:L:s:Q:@:m:")) >= 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:142:5:  [3] (random) srand:
  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.
				srand(g_subsam_seed);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:381:14:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
	while ((c = getopt(argc, argv, "n")) > 0)
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/bwa_index.cpp:100:29:  [3] (random) lrand48:
  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.
            if (c >= 4) c = lrand48() & 3;
data/spades-3.13.1+dfsg/assembler/src/common/paired_info/peak_finder.hpp:115:5:  [3] (random) srand:
  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.
    srand((unsigned) time(NULL));
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/main.cpp:40:5:  [3] (random) srand:
  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.
    srand(42);
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/main.cpp:41: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(42);
data/spades-3.13.1+dfsg/assembler/src/projects/gbuilder/main.cpp:89:5:  [3] (random) srand:
  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.
    srand(42);
data/spades-3.13.1+dfsg/assembler/src/projects/gbuilder/main.cpp:90: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(42);
data/spades-3.13.1+dfsg/assembler/src/projects/gmapper/main.cpp:162:5:  [3] (random) srand:
  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.
    srand(42);
data/spades-3.13.1+dfsg/assembler/src/projects/gmapper/main.cpp:163: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(42);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/gen_test_data/main.cpp:51:3:  [3] (random) srand:
  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.
  srand(opt.seed);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/main.cpp:67:3:  [3] (random) srand:
  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.
  srand(42);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/main.cpp:68:3:  [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(42);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/correct.cpp:180:27:  [3] (buffer) getopt_long:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while(!errflg && ((ch = getopt_long(argc, argv, myopts, long_options, &option_index)) != EOF)) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/main.cpp:288:3:  [3] (random) srand:
  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.
  srand(42);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/main.cpp:289:3:  [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(42);
data/spades-3.13.1+dfsg/assembler/src/projects/kmercount/main.cpp:119:5:  [3] (random) srand:
  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.
    srand(42);
data/spades-3.13.1+dfsg/assembler/src/projects/kmercount/main.cpp:120: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(42);
data/spades-3.13.1+dfsg/assembler/src/projects/kmercount/read_filter.cpp:52:5:  [3] (random) srand:
  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.
    srand(42);
data/spades-3.13.1+dfsg/assembler/src/projects/kmercount/read_filter.cpp:53: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(42);
data/spades-3.13.1+dfsg/assembler/src/projects/scaffold_correction/main.cpp:65:5:  [3] (random) srand:
  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.
    srand(42);
data/spades-3.13.1+dfsg/assembler/src/projects/scaffold_correction/main.cpp:66: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(42);
data/spades-3.13.1+dfsg/assembler/src/projects/spades/main.cpp:56:5:  [3] (random) srand:
  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.
    srand(42);
data/spades-3.13.1+dfsg/assembler/src/projects/spades/main.cpp:57: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(42);
data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/main.cpp:54:5:  [3] (random) srand:
  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.
    srand(42);
data/spades-3.13.1+dfsg/assembler/src/projects/truseq_analysis/main.cpp:55: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(42);
data/spades-3.13.1+dfsg/assembler/src/test/cap/tests/inversions/gen.cpp:53:3:  [3] (random) srand:
  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.
  srand(2391);
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/order_and_law_test.hpp:120:9:  [3] (random) srand:
  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.
        srand(rand_seed_);
data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/commandline.cpp:30:13:  [3] (buffer) getopt_long:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
        c = getopt_long (argc, argv, "f:k:a:h",
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/correct.cpp:175:27:  [3] (buffer) getopt_long:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while(!errflg && ((ch = getopt_long(argc, argv, myopts, long_options, &option_index)) != EOF)) {
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:775:16:  [3] (buffer) getopt:
  Some older implementations do not protect against internal buffer overflows
  (CWE-120, CWE-20). Check implementation on installation, or limit the size
  of all string inputs.
  while ((ch = getopt(argc, argv, "df:g:hl:p:s:u:Uw?")) != EOF)
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:881:17:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    char *env = getenv("COLUMNS");
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:223: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.
    union { T value; char valueBuffer[sizeof(T)]; } un;
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:230: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(originalTagData.Buffer, TagData.c_str(), tagDataLength + 1);    // '+1' for TagData null-term
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:234: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(originalTagData.Buffer + tagDataLength + newTag.size(), un.valueBuffer, sizeof(T));
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:279: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(originalTagData.Buffer, TagData.c_str(), tagDataLength + 1);    // '+1' for TagData null-term
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:324: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 newTagBase[Constants::BAM_TAG_ARRAYBASE_SIZE];
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:325: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( newTagBase, tag.c_str(), Constants::BAM_TAG_TAGSIZE );
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:331: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(newTagBase + 4, &numElements, sizeof(int32_t));
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:338: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(originalTagData.Buffer, TagData.c_str(), tagDataLength+1); // '+1' for TagData's null-term
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:342: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(originalTagData.Buffer + tagDataLength, newTagBase, Constants::BAM_TAG_ARRAYBASE_SIZE * sizeof(char));
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:348: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(originalTagData.Buffer + elementsBeginOffset + i*sizeof(T), &value, sizeof(T));
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:490: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(&destination, pTagData, destinationLength);
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:527: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( (char*)destination.data(), pTagData, dataLength );
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:618: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(&numElements, pTagData, sizeof(int32_t));
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:626: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(&value, pTagData, sizeof(T));
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAux.h:277:36:  [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.
    union { double value; unsigned char valueBuffer[sizeof(double)]; } un;
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAux.h:309: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.
    union { float value; unsigned char valueBuffer[sizeof(float)]; } un;
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAux.h:337:40:  [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.
    union { signed int value; unsigned char valueBuffer[sizeof(signed int)]; } un;
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAux.h:365:42:  [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.
    union { signed short value; unsigned char valueBuffer[sizeof(signed short)]; } un;
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAux.h:391:42:  [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.
    union { unsigned int value; unsigned char valueBuffer[sizeof(unsigned int)]; } un;
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAux.h:419:44:  [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.
    union { unsigned short value; unsigned char valueBuffer[sizeof(unsigned short)]; } un;
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h: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(_buffer,cr._buffer,_buffsize*sizeof(basetype) );
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:145:15:  [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).
        _is = fopen(filename, "rb");
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:457: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(_bitArray, r._bitArray, _nchar*sizeof(uint64_t) );
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:471: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(_bitArray, r._bitArray, _nchar*sizeof(uint64_t) );
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1245: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 fname_old[1000];
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1246: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(fname_old,"temp_p%i_level_%i",_pid,i-2);
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1248: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 fname_curr[1000];
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1249: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(fname_curr,"temp_p%i_level_%i",_pid,i);
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1251: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 fname_prev[1000];
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1252: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(fname_prev,"temp_p%i_level_%i",_pid,i-1);
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1263:34:  [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).
                _currlevelFile = fopen(fname_curr,"w");
data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree.h:154:3:  [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 dummy[2];
data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree_test.h:496: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.
char* GenerateDigits(char buf[16], int val, int maxval) {
data/spades-3.13.1+dfsg/assembler/ext/include/btree/btree_test.h:527: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 buf[16];
data/spades-3.13.1+dfsg/assembler/ext/include/bwa/bntseq.h:66: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 nst_nt4_table[256];
data/spades-3.13.1+dfsg/assembler/ext/include/bwa/bwa.h:36: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 bwa_rg_id[256];
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:403:3:  [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 buffer[2];  // The buffer size must be >= 2 or _ecvt_s will fail.
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:1757:3:  [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 prefix[4] = "";
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/format.h:2213:11:  [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.
  mutable char buffer_[BUFFER_SIZE];
data/spades-3.13.1+dfsg/assembler/ext/include/folly/SmallLocks.h:300: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 padding[FOLLY_CACHE_LINE_SIZE - sizeof(T)];
data/spades-3.13.1+dfsg/assembler/ext/include/folly/SmallLocks.h:313:3:  [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 padding_[FOLLY_CACHE_LINE_SIZE];
data/spades-3.13.1+dfsg/assembler/ext/include/gfa1/gfa.h:103:61:  [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.
uint8_t *gfa_aux_get(int l_data, const uint8_t *data, const char tag[2]);
data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/jemalloc_internal.h:967:3:  [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(ret, ptr, copysize);
data/spades-3.13.1+dfsg/assembler/ext/include/jemalloc/internal/prof.h:198: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	opt_prof_prefix[PATH_MAX + 1];
data/spades-3.13.1+dfsg/assembler/ext/include/kseq/kseq.h:124:4:  [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(str->s + str->l, ks->buf + ks->begin, i - ks->begin); \
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/DenseMap.h:323:7:  [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(getBuckets(), other.getBuckets(),
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/Hashing.h:394:3:  [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_ptr, value_data + offset, store_size);
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/Hashing.h:407:3:  [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 buffer[64], *buffer_ptr = buffer;
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/Hashing.h:498:3:  [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 buffer[64];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/Hashing.h:524:7:  [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_ptr, &data, partial_store_size);
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/SmallVector.h:328:7:  [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, I, (E - I) * sizeof(T));
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/SmallVector.h:340: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->end(), &Elt, sizeof(T));
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/StringExtras.h:73:3:  [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 Buffer[17];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/StringExtras.h:78:3:  [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 Buffer[11];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/StringExtras.h:94:3:  [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 Buffer[21];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/StringMap.h:167:7:  [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(StrBuffer, Key.data(), KeyLength);
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/AlignOf.h:120: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.
  alignas(Alignment) char buffer[Size];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/AlignOf.h:131:33:  [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.
    __attribute__((aligned(x))) char buffer[Size]; \
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/AlignOf.h:165:3:  [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 arr1[sizeof(T1)], arr2[sizeof(T2)], arr3[sizeof(T3)], arr4[sizeof(T4)],
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/AlignOf.h:104: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.
  alignas(Alignment) char buffer[Size];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/AlignOf.h:115:33:  [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.
    __attribute__((aligned(x))) char buffer[Size]; \
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/AlignOf.h:149:3:  [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 arr1[sizeof(T1)], arr2[sizeof(T2)], arr3[sizeof(T3)], arr4[sizeof(T4)],
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/MathExtras.h:192:23:  [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 const unsigned char BitReverseTable256[256] = {
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/MathExtras.h:205:12:  [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 in[sizeof(Val)];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/MathExtras.h:206:12:  [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 out[sizeof(Val)];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/MathExtras.h:207:8:  [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(in, &Val, sizeof(Val));
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/YAMLTraits.h:771:3:  [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 missing_yaml_trait_for_type[sizeof(MissingTrait<T>)];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/YAMLTraits.h:1312:3:  [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 missing_yaml_trait_for_type[sizeof(MissingTrait<T>)];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/YAMLTraits.h:1380:3:  [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 missing_yaml_trait_for_type[sizeof(MissingTrait<T>)];
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/Support/raw_ostream.h:169:7:  [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(OutBufCur, Str.data(), Size);
data/spades-3.13.1+dfsg/assembler/ext/include/sparsehash/template_util.h:60:3:  [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 dummy[2];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/BamAlignment.cpp:303:25:  [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(&numElements, &tagData[i], sizeof(uint32_t));
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/BamAlignment.cpp:346: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*)(TagData.data()), tagData, tagDataLength);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/BamAlignment.cpp:863: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(newTagData.Buffer, pOriginalTagData, numBytesParsed);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/BamAlignment.cpp:874: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(newTagData.Buffer + beginningTagDataLength, pTagData, endTagDataLength );
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/BamAlignment.cpp:1043: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(&numElements, pTagData, sizeof(uint32_t)); // already endian-swapped, if needed
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamHeader_p.cpp:46: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 buffer[Constants::BAM_HEADER_MAGIC_LENGTH];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamHeader_p.cpp:82: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 buffer[sizeof(uint32_t)];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamReader_p.cpp:245: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 buffer[sizeof(uint32_t)];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamReader_p.cpp:254: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 x[Constants::BAM_CORE_SIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamReader_p.cpp:328: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 buffer[sizeof(uint32_t)];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamWriter_p.cpp:286: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(cigarData, packedCigar.data(), packedCigarLength);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamWriter_p.cpp:318: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(tagData, al.TagData.data(), tagDataLength);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/bam/BamWriter_p.cpp:367:21:  [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(&numElements, &tagData[i], sizeof(uint32_t));
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/index/BamStandardIndex_p.cpp:150:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy((char*)&chunkStart, m_resources.Buffer+offset, sizeof(uint64_t));
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/index/BamStandardIndex_p.cpp:152:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy((char*)&chunkStop, m_resources.Buffer+offset, sizeof(uint64_t));
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/index/BamStandardIndex_p.cpp:230: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 magic[4];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/index/BamToolsIndex_p.cpp:75: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 magic[4];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/BamFile_p.cpp:43:20:  [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).
        m_stream = fopen(m_filename.c_str(), "rb");
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/BamFile_p.cpp:45:20:  [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).
        m_stream = fopen(m_filename.c_str(), "wb");
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/BamFile_p.cpp:47:20:  [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).
        m_stream = fopen(m_filename.c_str(), "w+b");
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/ParallelBgzfStream_p.cpp:67: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 mode_cstr[16] = "\0";
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/RollingBuffer_p.cpp:213: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(dest+bytesReadSoFar, readPtr, blockBytes);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/RollingBuffer_p.cpp:236: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(dest+bytesReadSoFar, readPtr, bytesToRead);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/RollingBuffer_p.cpp:313: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(writePtr, src, n);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/SerialBgzfStream_p.cpp:175: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(m_uncompressedBlock.Buffer, m_uncompressedBlock.Buffer + inputLength, remaining);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/SerialBgzfStream_p.cpp:306: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(output, m_uncompressedBlock.Buffer + m_blockOffset, copyLength);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/SerialBgzfStream_p.cpp:334: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 header[Constants::BGZF_BLOCK_HEADER_LENGTH];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/SerialBgzfStream_p.cpp:359: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(m_compressedBlock.Buffer, header, Constants::BGZF_BLOCK_HEADER_LENGTH);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/SerialBgzfStream_p.cpp:439: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 + m_blockOffset, input, copyLength);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:120:14:  [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).
		if ((fpw = fopen(path, "w")) == 0) return 0;
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:162:2:  [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(dst, g_magic, BLOCK_HEADER_LENGTH); // the last two bytes are a place holder for the length of the block
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:241:2:  [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(fp->uncompressed_block, p->block, BGZF_MAX_BLOCK_SIZE);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:270:2:  [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(kh_val(h, k).block, fp->uncompressed_block, BGZF_MAX_BLOCK_SIZE);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:297:2:  [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(compressed_block, header, BLOCK_HEADER_LENGTH);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:329:3:  [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(output, buffer + fp->block_offset, copy_length);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:377:3:  [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(w->mt->blk[i], w->buf, clen);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:443:2:  [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(mt->blk[mt->curr], fp->uncompressed_block, fp->block_offset);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:488:3:  [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(fp->uncompressed_block + fp->block_offset, input, copy_length);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:532:3:  [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 + fp->block_offset, input, copy_length);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.c:654:3:  [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(str->s + str->l, buf + fp->block_offset, l);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/bgzf.h:67:30:  [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).
#define _bgzf_open(fn, mode) fopen(fn, mode)
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/consumer.c:61:3:  [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(c->buffer, block->buffer, block->block_length);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/consumer.c:100:3:  [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(c->buffer, b->buffer, b->block_length); // copy uncompressed to compressed 
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/consumer.c:142:3:  [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(c->buffer, b->buffer, b->block_length); // copy uncompressed to compressed 
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/consumer.c:169:3:  [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(c->buffer, b->buffer, b->block_length); // copy uncompressed to compressed 
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:175:26:  [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).
	server.sin_port = htons(atoi(port));
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:249:2:  [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(ftp->pasv_ip, v, 4 * sizeof(int));
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:257:2:  [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 host[80], port[10];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:262:2:  [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(host, "%d.%d.%d.%d", ftp->pasv_ip[0], ftp->pasv_ip[1], ftp->pasv_ip[2], ftp->pasv_ip[3]);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:263:2:  [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(port, "%d", ftp->pasv_port);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:342:3:  [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 tmp[32];
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:344:3:  [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(tmp, "REST %lld\r\n", (long long)fp->offset);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:346:3:  [2] (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). Risk is low because the source is a constant string.
		strcpy(tmp, "REST ");
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:348:3:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
		strcat(tmp, "\r\n");
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:413:10:  [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.
    l += sprintf(buf + l, "Range: bytes=%lld-\r\n", (long long)fp->offset);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:414:7:  [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.
	l += sprintf(buf + l, "\r\n");
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:475: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).
		int fd = open(fn, O_RDONLY | O_BINARY);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:477: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).
		int fd = open(fn, O_RDONLY);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/pbgzf.c:331: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).
      fd = open(path, O_RDONLY | O_BINARY); 
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/pbgzf.c:333: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).
      fd = open(path, O_RDONLY);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/pbgzf.c:338: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).
      fd = open(path, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0666); 
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/pbgzf.c:340: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).
      fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0666); 
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/pbgzf.c:380:7:  [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(output, buffer + fp->block->block_offset, copy_length);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/pbgzf.c:438:7:  [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 + fp->block->block_offset, input, copy_length);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/reader.c:56:3:  [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(compressed_block, header, BLOCK_HEADER_LENGTH);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/writer.c:34:7:  [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 mode[3]="w";
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:429:16:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
  int length = MultiByteToWideChar(
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:435:12:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
  length = MultiByteToWideChar(
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/posix.cc:81:35:  [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).
  FMT_RETRY_VAL(file_, FMT_SYSTEM(fopen(filename.c_str(), mode.c_str())), 0);
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/posix.cc:108:33:  [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).
  FMT_RETRY(fd_, FMT_POSIX_CALL(open(path.c_str(), oflag, mode)));
data/spades-3.13.1+dfsg/assembler/ext/src/edlib/edlib.cpp:310:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(cigar_, &(*cigar)[0], cigar->size() * sizeof(char));
data/spades-3.13.1+dfsg/assembler/ext/src/edlib/edlib.cpp:1360:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(*alignment, ulAlignment, ulAlignmentLength);
data/spades-3.13.1+dfsg/assembler/ext/src/edlib/edlib.cpp:1361:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(*alignment + ulAlignmentLength, lrAlignment, lrAlignmentLength);
data/spades-3.13.1+dfsg/assembler/ext/src/edlib/edlib.cpp:1402:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char letterIdx[MAX_UCHAR + 1];
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/gfa.c:100:4:  [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(&n, s, 4);
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/gfa.c:135:61:  [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.
uint8_t *gfa_aux_get(int l_data, const uint8_t *data, const char tag[2])
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/gfa.c:1034:3:  [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 utg_name[11];
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/gfa.c:1079:3:  [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(utg_name, "utg%.7d", ug->n_seg + 1);
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kseq.h:135:4:  [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(str->s + str->l, ks->buf + ks->begin, i - ks->begin);  \
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kstring.h:68:2:  [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->s + s->l, p, l);
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kstring.h:108:2:  [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->s + s->l, p, l);
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kstring.h:114:2:  [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 buf[16];
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kstring.h:131:2:  [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 buf[16];
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kvec.h:74:3:  [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((v1).a, (v0).a, sizeof(type) * (v0).n);		\
data/spades-3.13.1+dfsg/assembler/ext/src/gqf/gqf.c:1505:2:  [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->mem, src->mem, sizeof(qfmem));
data/spades-3.13.1+dfsg/assembler/ext/src/gqf/gqf.c:1506:2:  [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->metadata, src->metadata, sizeof(qfmetadata));
data/spades-3.13.1+dfsg/assembler/ext/src/gqf/gqf.c:1507:2:  [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->blocks, src->blocks, src->metadata->size);
data/spades-3.13.1+dfsg/assembler/ext/src/gqf/gqf.c:1541:16:  [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).
	qf->mem->fd = open(path, O_RDWR, S_IRWXU);
data/spades-3.13.1+dfsg/assembler/ext/src/gqf/gqf.c:1584:9:  [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).
	fout = fopen(filename, "wb+");
data/spades-3.13.1+dfsg/assembler/ext/src/gqf/gqf.c:1601:8:  [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).
	fin = fopen(filename, "rb");
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/arena.c:2024:2:  [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(ret, ptr, copysize);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/chunk_mmap.c:44:4:  [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 buf[BUFERROR_BUF];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/chunk_mmap.c:70:3:  [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 buf[BUFERROR_BUF];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ctl.c:562:3:  [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(astats, ctl_stats.arenas, (ctl_stats.narenas + 1) *
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ctl.c:571:3:  [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(tarenas, arenas, ctl_stats.narenas * sizeof(arena_t *));
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ctl.c:591:3:  [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(&tstats, &astats[ctl_stats.narenas],
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ctl.c:593:3:  [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(&astats[ctl_stats.narenas],
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ctl.c:595:3:  [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(&astats[ctl_stats.narenas + 1], &tstats,
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ctl.c:637:2:  [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(tarenas, arenas, sizeof(arena_t *) * ctl_stats.narenas);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ctl.c:965:4:  [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(oldp, (void *)&v, copylen);		\
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ctl.c:1286:2:  [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(tarenas, arenas, sizeof(arena_t *) * ctl_stats.narenas);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/huge.c:170:4:  [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 buf[BUFERROR_BUF];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/huge.c:177:4:  [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(ret, ptr, copysize);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/huge.c:183:3:  [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(ret, ptr, copysize);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/jemalloc.c:385:2:  [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 buf[PATH_MAX + 1];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:27:1:  [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		opt_prof_prefix[PATH_MAX + 1];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:60: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		prof_dump_buf[PROF_DUMP_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:139:2:  [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(ret->vec, bt->vec, bt->len * sizeof(void *));
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:600:3:  [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(&prof_dump_buf[prof_dump_buf_end], &s[i], n);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:614:2:  [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 buf[PROF_PRINTF_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:634:2:  [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(&ctx->cnt_summed, &ctx->cnt_merged, sizeof(prof_cnt_t));
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:645:4:  [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(&tcnt, &thr_cnt->cnts, sizeof(prof_cnt_t));
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:799:2:  [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 filename[PATH_MAX + 1];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:805:8:  [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).
	mfd = open(filename, O_RDONLY);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:945:2:  [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 filename[DUMP_FILENAME_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:964:2:  [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 filename[PATH_MAX + 1];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:994:2:  [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 filename_buf[DUMP_FILENAME_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:1018:2:  [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 filename[DUMP_FILENAME_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:1187:2:  [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(opt_prof_prefix, PROF_PREFIX_DEFAULT,
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/quarantine.c:79:3:  [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(ret->objs, &quarantine->objs[quarantine->first],
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/quarantine.c:87:3:  [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(ret->objs, &quarantine->objs[quarantine->first], ncopy_a
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/quarantine.c:89:3:  [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(&ret->objs[ncopy_a], quarantine->objs, ncopy_b *
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:292:3:  [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, uppercase ? "0X" : "0x", 2);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:312:3:  [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(&str[i], s, cpylen);				\
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:492: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 buf[D2S_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:502: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 buf[O2S_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:511: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 buf[U2S_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:520: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 buf[X2S_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:529: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 buf[2];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:549: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 buf[X2S_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:598:2:  [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 buf[MALLOC_PRINTF_BUFSIZE];
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/MemoryBuffer.cpp:55: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(Memory, Data.data(), Data.size());
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/MemoryBuffer.cpp:118:3:  [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(const_cast<char*>(Buf->getBufferStart()), InputData.data(),
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/SmallVector.cpp:31: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(NewElts, this->BeginX, CurSizeBytes);
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/raw_ostream.cpp:89:3:  [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 NumberBuffer[20];
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/raw_ostream.cpp:115:3:  [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 NumberBuffer[20];
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/raw_ostream.cpp:141:3:  [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 NumberBuffer[20];
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/raw_ostream.cpp:219:3:  [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 buf[16];
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/raw_ostream.cpp:327: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(OutBufCur, Ptr, Size);
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/raw_ostream.cpp:392: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 NumberBuffer[20] = "0x0000000000000000";
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/raw_ostream.cpp:412: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 NumberBuffer[32];
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/raw_ostream.cpp:692:3:  [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(OS.data() + Offset, Ptr, Size);
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regcomp.c:110: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 nuls[10];		/* place to point scanner in event of error */
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regcomp.c:917:2:  [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 bracket[3];
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regcomp.c:959:2:  [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 bracket[4];
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regerror.c:86:2:  [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 convbuf[50];
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regutils.h:55:26:  [2] (buffer) bcopy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
#define	memmove(d, s, c)	bcopy(s, d, c)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.c:84:2:  [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 buf[4];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.c:125:2:  [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 buf[4];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.c:177:4:  [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(&n, s + 1, 4);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.c:322:4:  [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(&n, s, 4);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.c:462:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(cigar, new_cigar, l * 4); // set CIGAR
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.h:295: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 bam_nt16_table[256];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.h:678:46:  [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.
	uint8_t *bam_aux_get(const bam1_t *b, const char tag[2]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.h:687:39:  [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.
	void bam_aux_append(bam1_t *b, const char tag[2], char type, int len, uint8_t *data);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.h:688:45:  [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.
	uint8_t *bam_aux_get_core(bam1_t *b, const char tag[2]); // an alias of bam_aux_get()
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.h:748:2:  [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(data, bsrc->data, bsrc->data_len); // copy var-len data
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.h:768:2:  [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(b->data, src->data, b->data_len);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam2bcf.c:441:2:  [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(b->gi[0].data, bc->PL, b->gi[0].len * bc->n);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam2bcf_indel.c:477:4:  [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(&bca->inscns[t * bca->maxins], &inscns[(sumq[t]&0x3f) * max_ins], bca->maxins);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam2depth.c:55:24:  [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).
			case 'l': min_len = atoi(optarg); break; // minimum query length
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam2depth.c:58: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).
			case 'q': baseQ = atoi(optarg); break;   // base quality threshold
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam2depth.c:59:21:  [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).
			case 'Q': mapQ = atoi(optarg); break;    // mapping quality threshold
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_aux.c:8:38:  [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.
void bam_aux_append(bam1_t *b, const char tag[2], char type, int len, uint8_t *data)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_aux.c:20:2:  [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(b->data + ori_len + 3, data, len);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_aux.c:23:44:  [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.
uint8_t *bam_aux_get_core(bam1_t *b, const char tag[2])
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_aux.c:36:45:  [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.
uint8_t *bam_aux_get(const bam1_t *b, const char tag[2])
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_aux.c:154:10:  [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).
		*beg = atoi(s + name_end + 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_aux.c:156: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).
		*end = i < k? atoi(s + i + 1) : 1<<29;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_cat.c:126:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(ebuf,ebuf+len,diff);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_cat.c:127:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(ebuf+diff,buf,len);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_cat.c:131:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(ebuf,buf+len,es);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:24:10:  [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 bam_nt16_table[256] = {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:136:9:  [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).
		len = atoi(str->s);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:211: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).
		h->target_len[i] = atoi(tmp[i]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:259:3:  [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(alloc_data(b, doff + c->l_qname) + doff, str->s, c->l_qname);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:282:96:  [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).
		ret = ks_getuntil(ks, KS_SEP_TAB, str, &dret); z += str->l + 1; c->pos = isdigit(str->s[0])? atoi(str->s) - 1 : -1;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:283:97:  [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).
		ret = ks_getuntil(ks, KS_SEP_TAB, str, &dret); z += str->l + 1; c->qual = isdigit(str->s[0])? atoi(str->s) : 0;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:333:33:  [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).
		c->mpos = isdigit(str->s[0])? atoi(str->s) - 1 : -1;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:335: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).
		c->isize = (str->s[0] == '-' || isdigit(str->s[0]))? atoi(str->s) : 0;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:435: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, str->s + 5, str->l - 5);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:449: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, &n, 4); s += 4; // write the number of elements
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:329:2:  [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 magic[4];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:402:21:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
	strcpy(fnidx, fn); strcat(fnidx, ".bai");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:403:7:  [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).
	fp = fopen(fnidx, "rb");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:409:9:  [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).
			fp = fopen(fnidx, "rb");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:439:12:  [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).
	if ((fp = fopen(fn, "wb")) == 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:464:3:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
		strcat(strcpy(fnidx, fn), ".bai");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:492:22:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
		strcpy(fnidx, fn); strcat(fnidx, ".bai");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:494:10:  [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).
	fpidx = fopen(fnidx, "wb");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_lpileup.c:146:2:  [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(tv->pre_level, tv->cur_level, tv->n_cur * 4);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:249:3:  [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(bq, qual, c->l_qseq);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:331: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).
		case 'n': max_nm = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:332:20:  [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).
		case 'C': capQ = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:16:2:  [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 buf[16];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:271:3:  [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(bh->name, s.s, s.l);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:278:3:  [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(bh->sname, s.s, s.l);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:423: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 buf[MAX_PATH_LEN];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:431: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 *fh = fopen(file_list,"r");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:508:30:  [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).
		case 'd': mplp.max_depth = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:526: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).
		case 'C': mplp.capQ_thres = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:527:27:  [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).
		case 'M': mplp.max_mq = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:528:27:  [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).
		case 'q': mplp.min_mq = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:529:30:  [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).
		case 'Q': mplp.min_baseQ = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:531:26:  [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).
		case 'o': mplp.openQ = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:532:25:  [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).
		case 'e': mplp.extQ = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:533: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).
		case 'h': mplp.tandemQ = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:536:32:  [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).
		case 'm': mplp.min_support = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:537:36:  [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).
		case 'L': mplp.max_indel_depth = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:540: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 buf[1024];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:542:18:  [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).
				if ((fp_rg = fopen(optarg, "r")) == 0)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:218:18:  [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.
	if (level >= 0) sprintf(mode + 1, "%d", level < 9? level : 9);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:279:21:  [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).
		case 'l': level = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:280:25:  [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).
		case '@': n_threads = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:301:14:  [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(argv[optind], "rb");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:498:3:  [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 mode[8];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:500:19:  [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.
		if (level >= 0) sprintf(mode + 1, "%d", level < 9? level : 9);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:553:25:  [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).
		case '@': n_threads = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:554:21:  [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).
		case 'l': level = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview.c:82:18:  [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 bam_nt16_table[256];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview_curses.c:102:2:  [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 str[256], *p;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview_html.c:323:14:  [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).
		base->mcol=atoi(colstr);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bamshuf.c:52:2:  [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 **fnt, modew[8];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bamshuf.c:84:2:  [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(modew, "w%d", (clevel >= 0 && clevel <= 9)? clevel : DEF_CLEVEL);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bamshuf.c:123:23:  [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).
		case 'n': n_files = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bamshuf.c:124: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).
		case 'l': clevel = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcf.c:98:2:  [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 *p, *tmp[5];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcf.c:318:2:  [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(b->str + shift - 1, info, l); // append to the INFO field
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcf.c:381:2:  [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(r->str, b->str, r->m_str);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcf.c:384:3:  [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(r->gi[i].data, b->gi[i].data, r->n_smpl * r->gi[i].len);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcfutils.c:279:3:  [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(swap, PLi, gi->len);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcfutils.c:372:4:  [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(swap + gi->len * a[i], data + gi->len * i, gi->len);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcfutils.c:409:29:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	h->name = malloc(h->l_nm); memcpy(h->name, h0->name, h->l_nm);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcfutils.c:410:36:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	h->txt = calloc(1, h->l_txt + 1); memcpy(h->txt, h0->txt, h->l_txt);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcfutils.c:424:4:  [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(swap + i * gi->len, (uint8_t*)gi->data + list[i] * gi->len, gi->len);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:70:2:  [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(a->d, anno, 4 * sizeof(int));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:204:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(sam[n], p, t-p);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:341:2:  [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 moder[4], modew[4];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:349:21:  [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).
		case '1': vc.n1 = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:373:25:  [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).
		case 'U': vc.n_perm = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/em.c:220:27:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		for (i = 0; i < 3; ++i) memcpy(g[i], x + 1, 3 * sizeof(double));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/em.c:290:3:  [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(flast, f, 4 * sizeof(double));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/fet.c:101:2:  [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 id[1024];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:128:2:  [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 magic[4];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:188:12:  [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).
	if ((fp = fopen(fn, "w")) == 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:211:2:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
	strcat(strcpy(fnidx, fn), ".bci");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:256:22:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
		strcpy(fnidx, fn); strcat(fnidx, ".bci");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:302:11:  [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).
	*begin = atoi(p);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:305:10:  [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 = atoi(p);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/kmin.c:80:3:  [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(x1, x, n * sizeof(double)); /* x1 = x */
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/main.c:89:29:  [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).
				else if (k == 1) pos0 = atoi(q) - 1;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/main.c:91:29:  [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).
				else if (k == 3) pos1 = atoi(q) - 1;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/main.c:96: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).
		if (k == 3) pos1 = atoi(q) - 1;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/prob1.c:21:10:  [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 seq_nt4_table[256] = {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/prob1.c:144:3:  [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(ma->ploidy, ploidy, n);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/prob1.c:710: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(ma->z1, z[1], sizeof(double) * (ma->n1 * 2 + 1));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/prob1.c:756:21:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	if (z[0] != ma->z) memcpy(ma->z, z[0], sizeof(double) * (ma->M + 1));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/prob1.c:771:3:  [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(ma->z2, ma->z, sizeof(double) * (2 * (ma->n - ma->n1) + 1));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/vcf.c:76:31:  [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).
		v->fpout = strcmp(fn, "-")? fopen(fn, "w") : stdout;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/vcf.c:178:13:  [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).
			b->pos = atoi(p) - 1;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bedcov.c:43:24:  [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).
		case 'Q': min_mapQ = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bedcov.c:84: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).
		*p = 0; beg = atoi(q); *p = '\t';
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bedcov.c:88: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).
			*p = 0; end = atoi(q); *p = c;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bedidx.c:124:11:  [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).
				beg = atoi(str->s); // begin
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bedidx.c:127:13:  [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 = atoi(str->s); // end
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:54:30:  [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).
#define _bgzf_open(fn, mode) fopen(fn, mode)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:150:14:  [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).
		if ((fpw = fopen(path, "w")) == 0) return 0;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:192:2:  [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(dst, g_magic, BLOCK_HEADER_LENGTH); // the last two bytes are a place holder for the length of the block
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:270:2:  [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(fp->uncompressed_block, p->block, BGZF_MAX_BLOCK_SIZE);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:299:2:  [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(kh_val(h, k).block, fp->uncompressed_block, BGZF_MAX_BLOCK_SIZE);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:326:2:  [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(compressed_block, header, BLOCK_HEADER_LENGTH);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:358:3:  [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(output, buffer + fp->block_offset, copy_length);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:406:3:  [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(w->mt->blk[i], w->buf, clen);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:472:2:  [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(mt->blk[mt->curr], fp->uncompressed_block, fp->block_offset);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:517:3:  [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(fp->uncompressed_block + fp->block_offset, input, copy_length);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:561:3:  [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 + fp->block_offset, input, copy_length);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzf.c:682:3:  [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(str->s + str->l, buf + fp->block_offset, l);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:55: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).
		if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0666)) < 0 && errno == EEXIST) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:65: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).
		if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:92:21:  [2] (integer) atol:
  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).
		case 'b': start = atol(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:93:20:  [2] (integer) atol:
  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).
		case 's': size = atol(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:115:17:  [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).
			if ((f_src = open(argv[optind], O_RDONLY)) < 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:126:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
				strcat(name, ".gz");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/cut_target.c:147: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).
			case 'Q': g.min_baseQ = atoi(optarg); break; // quality cutoff
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/cut_target.c:148:33:  [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).
			case 'i': g_param.p[0][1] = -atoi(optarg); break; // 0->1 transition (in) PENALTY
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/cut_target.c:149:32:  [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).
			case '0': g_param.e[1][0] = atoi(optarg); break; // emission SCORE
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/cut_target.c:150:32:  [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).
			case '1': g_param.e[1][1] = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/cut_target.c:151:32:  [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).
			case '2': g_param.e[1][2] = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:28:29:  [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).
#define razf_open(fn, mode) fopen(fn, mode)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:204:7:  [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).
	fp = fopen(str, "wb");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:232:10:  [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).
    fp = fopen(fn, "r");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:242:15:  [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).
    if ((fp = fopen(fn, "wb")) == 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:254:12:  [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).
    return fopen(fn, "r");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:279:14:  [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).
        fp = fopen(str, "rb");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:283:8:  [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).
		fp = fopen(str, "rb");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:351:9:  [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).
		beg = atoi(s + name_end + 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:353:16:  [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 = i < k? atoi(s + i + 1) : val.len;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:175:26:  [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).
	server.sin_port = htons(atoi(port));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:249:2:  [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(ftp->pasv_ip, v, 4 * sizeof(int));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:257:2:  [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 host[80], port[10];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:262:2:  [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(host, "%d.%d.%d.%d", ftp->pasv_ip[0], ftp->pasv_ip[1], ftp->pasv_ip[2], ftp->pasv_ip[3]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:263:2:  [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(port, "%d", ftp->pasv_port);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:342:3:  [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 tmp[32];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:344:3:  [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(tmp, "REST %lld\r\n", (long long)fp->offset);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:346:3:  [2] (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). Risk is low because the source is a constant string.
		strcpy(tmp, "REST ");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:348:3:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
		strcat(tmp, "\r\n");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:413:10:  [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.
    l += sprintf(buf + l, "Range: bytes=%lld-\r\n", (long long)fp->offset);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:414:7:  [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.
	l += sprintf(buf + l, "\r\n");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:475: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).
		int fd = open(fn, O_RDONLY | O_BINARY);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:477: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).
		int fd = open(fn, O_RDONLY);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kprobaln.c:257: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).
		case 'b': b = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kprobaln.c:258: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).
		case 'q': q = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kseq.h:125:4:  [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(str->s + str->l, ks->buf + ks->begin, i - ks->begin); \
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.h:87:2:  [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->s + s->l, p, l);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.h:112:2:  [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 buf[16];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.h:130:2:  [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 buf[16];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.h:147:2:  [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 buf[32];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/ace2sam.c:155:10:  [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).
					q = atoi(s.s) + 33;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/ace2sam.c:172: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).
			ks_getuntil(ks, 0, &s, &dret); pos = atoi(s.s); neg = pos < 0? 1 : 0; pos = pos < 0? -pos : pos; // position
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/ace2sam.c:188: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).
			ks_getuntil(ks, 0, &s, &dret); beg = atoi(s.s) - 1; // align clipping start
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/ace2sam.c:189: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).
			ks_getuntil(ks, 0, &s, &dret); end = atoi(s.s); // clipping end
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:602: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(rbuffer,stats->cov_rbuf.buffer+stats->cov_rbuf.start,n);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:604: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(rbuffer+n,stats->cov_rbuf.buffer,stats->cov_rbuf.start);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:1162: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(file,"r");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:1336: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 in_mode[5];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:1360:5:  [2] (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). Risk is low because the source is a constant string.
    strcpy(in_mode, "rb");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:1404:47:  [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).
            case 'l': stats->filter_readlen = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:1405:39:  [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).
            case 'i': stats->nisize = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:1407: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).
            case 'q': stats->trim_qual = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/maq2sam.c:37:2:  [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 name[MAX_NAMELEN];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.c:88:6:  [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(p, buf, len);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.c:91:2:  [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(p, buf, t);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.c:100:2:  [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(ctx->in, buf, 64);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.c:109: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(ctx->in, buf, len);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.c:117: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 digest[16]; struct MD5Context *ctx;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.c:154: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(digest, ctx->buf, 16);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.c:270:11:  [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 buf[4096], digest[16];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.c:275:24:  [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).
	fp = strcmp(fn, "-")? fopen(fn, "r") : stdin;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.h:41:18:  [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 in[64];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5.h:46: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.
void MD5Final(unsigned char digest[16], struct MD5Context *ctx);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/md5fa.c:16:11:  [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 unordered[16], digest[16];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:394:20:  [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).
		case 'd': dist = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:395:23:  [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).
		case 's': std_dev = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:396: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).
		case 'N': N = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:397: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).
		case '1': size_l = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:398: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).
		case '2': size_r = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:403:20:  [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).
		case 'S': seed = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:408:11:  [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).
	fpout1 = fopen(argv[optind+1], "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/wgsim.c:409:11:  [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).
	fpout2 = fopen(argv[optind+2], "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:22:3:  [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(b->data + b->core.l_qname, cigar, n * 4);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:25: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.
	} else memcpy(b->data + b->core.l_qname, cigar, n * 4);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:384:2:  [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 in_mode[5], out_mode[5], *fn_out = 0, *fn_list = 0, *fn_ref = 0;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:407:3:  [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 tmp[2];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:481:39:  [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).
				uint64_t x = (uint64_t)tid<<32 | (atoi(str->s) - 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:528: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).
			case 'D': g.max_depth = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:529:29:  [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).
			case 'q': g.min_varLOD = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:530: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).
			case 'Q': g.min_baseQ = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:531:20:  [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).
			case 'k': g.k = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:563:21:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
		strcpy(s, g.pre); strcat(s, ".0.bam"); g.out[0] = bam_open(s, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:564:21:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
		strcpy(s, g.pre); strcat(s, ".1.bam"); g.out[1] = bam_open(s, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:565:21:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
		strcpy(s, g.pre); strcat(s, ".chimera.bam"); g.out[2] = bam_open(s, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:382:3:  [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(rz->outbuf, rz->inbuf, n);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:506:8:  [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).
		fd = open(filename, O_RDONLY | O_BINARY);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:508:8:  [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).
		fd = open(filename, O_RDONLY);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:515:8:  [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).
		fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0666);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:517:8:  [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).
		fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0666);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:30: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).
		if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0666)) < 0 && errno == EEXIST) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:40: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).
		if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:62:21:  [2] (integer) atol:
  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).
		case 'b': start = atol(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:63:20:  [2] (integer) atol:
  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).
		case 's': size = atol(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:75:16:  [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).
			if((f_src = open(argv[optind], O_RDONLY)) < 0){
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:84:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
				strcat(name, ".rz");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c:17:2:  [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(h->text, h0->text, h->l_text);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c:76:4:  [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 bmode[3];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c:88:34:  [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).
			fp->x.tamw = strcmp(fn, "-")? fopen(fn, "w") : stdout;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c:173:2:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
	strcat(strcpy(fn_list, fn_ref), ".fai");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:22: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 key[2];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:29: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 type[2];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:175: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(*lineptr,text,len);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:191: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(tag->value,value_from,len+1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:547:17:  [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.
        nout += sprintf(out+nout,"@%c%c",hline->type[0],hline->type[1]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:555:25:  [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.
                nout += sprintf(out+nout,"%c%c:", tag->key[0],tag->key[1]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:598:41:  [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.
void *sam_header2tbl(const void *_dict, char type[2], char key_tag[2], char value_tag[2])
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:598:55:  [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.
void *sam_header2tbl(const void *_dict, char type[2], char key_tag[2], char value_tag[2])
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:598:72:  [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.
void *sam_header2tbl(const void *_dict, char type[2], char key_tag[2], char value_tag[2])
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:636:1:  [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 **sam_header2list(const void *_dict, char type[2], char key_tag[2], int *_n)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:636:43:  [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 **sam_header2list(const void *_dict, char type[2], char key_tag[2], int *_n)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:636:57:  [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 **sam_header2list(const void *_dict, char type[2], char key_tag[2], int *_n)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:673:44:  [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.
void *sam_header2key_val(void *iter, const char type[2], const char key_tag[2], const char value_tag[2], const char **_key, const char **_value)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:673:64:  [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.
void *sam_header2key_val(void *iter, const char type[2], const char key_tag[2], const char value_tag[2], const char **_key, const char **_value)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:673:87:  [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.
void *sam_header2key_val(void *iter, const char type[2], const char key_tag[2], const char value_tag[2], const char **_key, const char **_value)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:773:1:  [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 **sam_header2tbl_n(const void *dict, const char type[2], const char *tags[], int *n)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:773:49:  [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 **sam_header2tbl_n(const void *dict, const char type[2], const char *tags[], int *n)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:19:48:  [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.
    void *sam_header2key_val(void *iter, const char type[2], const char key_tag[2], const char value_tag[2], const char **key, const char **value);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:19:68:  [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.
    void *sam_header2key_val(void *iter, const char type[2], const char key_tag[2], const char value_tag[2], const char **key, const char **value);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:19:91:  [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.
    void *sam_header2key_val(void *iter, const char type[2], const char key_tag[2], const char value_tag[2], const char **key, const char **value);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:20:2:  [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 **sam_header2list(const void *_dict, char type[2], char key_tag[2], int *_n);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:20:44:  [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 **sam_header2list(const void *_dict, char type[2], char key_tag[2], int *_n);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:20:58:  [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 **sam_header2list(const void *_dict, char type[2], char key_tag[2], int *_n);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:37: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 **sam_header2tbl_n(const void *dict, const char type[2], const char *tags[], int *n);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:37:53:  [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 **sam_header2tbl_n(const void *dict, const char type[2], const char *tags[], int *n);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:39:41:  [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.
	void *sam_header2tbl(const void *dict, char type[2], char key_tag[2], char value_tag[2]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:39:55:  [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.
	void *sam_header2tbl(const void *dict, char type[2], char key_tag[2], char value_tag[2]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.h:39:72:  [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.
	void *sam_header2tbl(const void *dict, char type[2], char key_tag[2], char value_tag[2]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:134:2:  [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 in_mode[5], out_mode[5], *fn_out = 0, *fn_list = 0, *fn_ref = 0, *fn_rg = 0, *q;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:147:26:  [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).
		case 'm': g_min_qlen = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:157:26:  [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).
		case 'q': g_min_mapQ = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:169: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).
		case 'Q': g_qual_scale = atoi(optarg); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:184:3:  [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 tmp[2];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:193:3:  [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 buf[1024];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:196:11:  [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).
		fp_rg = fopen(fn_rg, "r");
data/spades-3.13.1+dfsg/assembler/src/common/adt/array_vector.hpp:80: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(ptr_, that.ptr_, data_size());
data/spades-3.13.1+dfsg/assembler/src/common/adt/array_vector.hpp:87: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(ptr_, that.data(), data_size());
data/spades-3.13.1+dfsg/assembler/src/common/adt/array_vector.hpp:93: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_ptr, that_ptr, data_size());
data/spades-3.13.1+dfsg/assembler/src/common/adt/array_vector.hpp:101: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_ptr, that_ptr, data_size());
data/spades-3.13.1+dfsg/assembler/src/common/adt/array_vector.hpp:109: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_ptr, that_ptr, data_size());
data/spades-3.13.1+dfsg/assembler/src/common/adt/array_vector.hpp:212: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_ptr, that_ptr, data_size());
data/spades-3.13.1+dfsg/assembler/src/common/adt/array_vector.hpp:220: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_ptr, that_ptr, data_size());
data/spades-3.13.1+dfsg/assembler/src/common/adt/array_vector.hpp:228: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_ptr, that_ptr, data_size());
data/spades-3.13.1+dfsg/assembler/src/common/adt/kmer_vector.hpp:38: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(res, storage_, size_ * sizeof(ElTy) * el_sz_);
data/spades-3.13.1+dfsg/assembler/src/common/adt/kmer_vector.hpp:45: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(res, storage_, size_ * sizeof(ElTy) * el_sz_);
data/spades-3.13.1+dfsg/assembler/src/common/adt/kmer_vector.hpp:79: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(storage_, that.storage_, size_ * sizeof(ElTy) * el_sz_);
data/spades-3.13.1+dfsg/assembler/src/common/adt/kmer_vector.hpp:99: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(storage_, that.storage_, size_ * sizeof(ElTy) * el_sz_);
data/spades-3.13.1+dfsg/assembler/src/common/adt/small_pod_vector.hpp:89:21:  [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(new_data, v->data(), N * sizeof(T));
data/spades-3.13.1+dfsg/assembler/src/common/adt/small_pod_vector.hpp:282: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->end() - 1, &value, sizeof(T));
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/stats/statistics.hpp:239: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).
        os.open((folder_name + "/" + file_name).c_str());
data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/read_converter.hpp:38: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).
        info.open(data.binary_reads_info.bin_reads_info_file.c_str(), std::ios_base::in);
data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/read_converter.hpp:73: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).
        info.open(data.binary_reads_info.bin_reads_info_file.c_str(), std::ios_base::out);
data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/read_converter.hpp:108: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).
        info.open(data.binary_reads_info.bin_reads_info_file.c_str(), std::ios_base::out);
data/spades-3.13.1+dfsg/assembler/src/common/io/graph/gfa_reader.cpp:27:17:  [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).
bool GFAReader::open(const std::string &filename) {
data/spades-3.13.1+dfsg/assembler/src/common/io/graph/gfa_reader.hpp:24: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).
    bool open(const std::string &filename);
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:61: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(buf, MappedRegion + BytesRead - BlockOffset, amount);
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:97:22:  [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).
        StreamFile = open(FileName.c_str(), O_RDONLY);
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_writer.hpp:37:9:  [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).
        open(FileName);
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_writer.hpp:40: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).
    void open(const std::string &FileName) {
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_writer.hpp:41: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).
        StreamFile = ::open(FileName.c_str(), O_RDWR | O_CREAT | O_TRUNC, (mode_t) 0660);
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_writer.hpp:56: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(MappedRegion + BufOffset + BytesWritten, buf, amount);
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_writer.hpp:156: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).
    void open(const std::string &FileName,
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_writer.hpp:159: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).
        MMappedWriter::open(FileName);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:37:17:  [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).
        stream_.open(fname.c_str(), std::ios_base::binary | std::ios_base::in);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:148:17:  [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).
        stream_.open(fname.c_str(), std::ios_base::binary | std::ios_base::in);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/fasta_fastq_gz_parser.hpp:61:9:  [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).
        open();
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/fasta_fastq_gz_parser.hpp:133: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).
    void open() {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireadstream.hpp:41:16:  [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).
    is_open_ = open(filename);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireadstream.hpp:45:16:  [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).
    is_open_ = open(filename);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireadstream.hpp:117:5:  [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).
    open(filename_);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireadstream.hpp:132:6:  [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).
bool open(std::string filename) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/mpmc_bounded.hpp:162:13:  [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.
    typedef char cacheline_pad_t[cacheline_size];
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/parser.hpp:90:9:  [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).
        open();
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/parser.hpp:116:18:  [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).
    virtual void open() = 0;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/read_processor.hpp:22:13:  [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.
    typedef char cacheline_pad_t[cacheline_size];
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/bam_parser.hpp:27:9:  [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).
        open();
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/bam_parser.hpp:54: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).
    void open() {
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/bam_reader.hpp:60:9:  [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).
        open();
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/bam_reader.hpp:87:9:  [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).
        open();
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/bam_reader.hpp:97: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).
    void open() {
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.cpp:60:5:  [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).
    open();
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.cpp:63:23:  [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).
void MappedSamStream::open() {
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.hpp:24:9:  [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).
        open();
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.hpp:45: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).
    void open();
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/kmer_map.hpp:103: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(rawvalue, value.data(), rawcnt_ * sizeof(RawSeqData));
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/long_read_storage.hpp:234:22:  [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* file = fopen(s.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/long_read_storage.hpp:252: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 = fopen((s).c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/long_read_storage.hpp:253: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 ss[14];
data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/path_visualizer.hpp:80:17:  [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).
        filestr.open(file_name.c_str(), std::fstream::out);
data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/path_visualizer.hpp:105:17:  [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).
        filestr.open(file_name.c_str(), std::fstream::out);
data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/path_visualizer.hpp:131:17:  [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).
        filestr.open(file_name.c_str(), std::fstream::out);
data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pipeline/launcher.cpp:94:16:  [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).
    single_dot.open((filename + "_single.dot").c_str());
data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/pipeline/launcher.cpp:100:17:  [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).
    data_stream.open((filename + ".data").c_str());
data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/scaffold_graph_visualizer.cpp:36: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).
    printer.open();
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:44: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((file_name + ".kmm").c_str(),
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:62: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((file_name + ".kmm").c_str(),
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:83: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((file_name + ".kmidx").c_str(),
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:100: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((file_name + ".kmidx").c_str(),
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:120:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    outFile.open(path.c_str());
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:191:26:  [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* gid_file = fopen((file_name + ".gid").c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:195:22:  [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* file = fopen((file_name + ".grp").c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:250:22:  [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* file = fopen((file_name + ".prd").c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:456:22:  [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* file = fopen((file_name + ".prd").c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:495:22:  [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* file = fopen((file_name + ".pos").c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:509:13:  [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 contigId[500];
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:510:13:  [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 cur_str[500];
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:598:22:  [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* file = fopen((file_name + ".grp").c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:600:31:  [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* sequence_file = fopen((file_name + ".sqn").c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:638: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 longstring[longstring_size];
data/spades-3.13.1+dfsg/assembler/src/common/sequence/rtseq.hpp:239: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(data_.data(), data_array, data_size * sizeof(T));
data/spades-3.13.1+dfsg/assembler/src/common/sequence/rtseq.hpp:251: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(data_.data(), data_array, data_size * sizeof(T));
data/spades-3.13.1+dfsg/assembler/src/common/sequence/rtseq.hpp:667: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(dst, (const void *) data_.data(), GetDataSize(size_) * sizeof(T));
data/spades-3.13.1+dfsg/assembler/src/common/sequence/seq.hpp:157: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(data_.data(), data_array, TotalBytes);
data/spades-3.13.1+dfsg/assembler/src/common/sequence/seq.hpp:161: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(data_.data(), data_array, TotalBytes);
data/spades-3.13.1+dfsg/assembler/src/common/sequence/seq.hpp:395: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(dst, (const void *) data_.data(), TotalBytes);
data/spades-3.13.1+dfsg/assembler/src/common/sequence/simple_seq.hpp:88: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(data_.data(), data_array, TotalBytes);
data/spades-3.13.1+dfsg/assembler/src/common/sequence/simple_seq.hpp:107: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(dst, (const void *) data_.data(), TotalBytes);
data/spades-3.13.1+dfsg/assembler/src/common/utils/filesystem/path_helper.cpp:243: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 buffer[80];
data/spades-3.13.1+dfsg/assembler/src/common/utils/filesystem/temporary.cpp:38:31:  [2] (tmpfile) mkstemp:
  Potential for temporary file vulnerability in some circumstances. Some
  older Unix-like systems create temp files with permission to write by all
  by default, so be sure to set the umask to override this. Also, some older
  Unix systems might fail to use O_EXCL when opening the file, so make sure
  that O_EXCL is used by the library (CWE-377).
    VERIFY_MSG(-1 != (fd_ = ::mkstemp(tempprefix)), "Cannot create temporary file");
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index_builder.hpp:193:19:  [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).
    if (FILE *f = fopen(IdxFileName.c_str(), "rb")) {
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index_builder.hpp:214:19:  [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 *g = fopen(ofname.c_str(), "ab");
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index_builder.hpp:237:21:  [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 *g = fopen(ofname.c_str(), "ab");
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index_builder.hpp:248:19:  [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 *g = fopen(ofname.c_str(), "ab");
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_splitters.hpp:140:27:  [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 *f = fopen(ostreams[k]->file().c_str(), "ab");
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_splitters.hpp:149:21:  [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).
                f = fopen((ostreams[k]->file() + ".idx").c_str(), "ab");
data/spades-3.13.1+dfsg/assembler/src/common/utils/logger/logger_impl.cpp:47: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 buf [0x400] = {};
data/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:68: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 PADDING[64] = {
data/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:127: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[64];                         /* input buffer */
data/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:133:54:  [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 void MD5Transform( UINT4 state[4], unsigned char block[64] )
data/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:288:7:  [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((POINTER)&context.buffer[index], (POINTER)input, partLen);
data/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:300: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((POINTER)&context.buffer[index], (POINTER)&input[i], inputLen-i);
data/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:308: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/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:337:7:  [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( digestChars+(pos*2), "%02x", digestRaw[pos] ) ;
data/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:347:3:  [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 digestChars[ 33 ] ;
data/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:358: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/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:360:17:  [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).
    if( (file = fopen (filename, "rb")) == NULL )
data/spades-3.13.1+dfsg/assembler/src/common/visualization/graph_printer.hpp:67:18:  [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).
    virtual void open() = 0;
data/spades-3.13.1+dfsg/assembler/src/common/visualization/graph_printer.hpp:114: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).
    void open() {
data/spades-3.13.1+dfsg/assembler/src/common/visualization/graph_printer.hpp:166: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).
    void open() {
data/spades-3.13.1+dfsg/assembler/src/common/visualization/visualization_utils.hpp:110:8:  [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).
    os.open(file_name);
data/spades-3.13.1+dfsg/assembler/src/common/visualization/visualization_utils.hpp:123:8:  [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).
    os.open(file_name);
data/spades-3.13.1+dfsg/assembler/src/common/visualization/visualization_utils.hpp:147:8:  [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).
    os.open(file_name);
data/spades-3.13.1+dfsg/assembler/src/common/visualization/visualizers.hpp:30:17:  [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).
        printer.open();
data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_environment_manager.hpp:44: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 *fd = fopen(file_path.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/cap/stats.hpp:454:20:  [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).
            stream.open((type_dir + "components.txt").c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/cap/test_utils.hpp:93:3:  [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 buf[40];
data/spades-3.13.1+dfsg/assembler/src/projects/cap/test_utils.hpp:130:3:  [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 buf[40];
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/variants_table.hpp:31:11:  [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.
constexpr char pos_to_var[MAX_VARIANTS] = { 'A', 'C', 'G', 'T', 'N', 'D', 'I' };
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/gen_test_data/main.cpp:33:13:  [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).
  ret.len = atoi(argv[0]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/gen_test_data/main.cpp:34:11:  [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).
  ret.k = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/gen_test_data/main.cpp:39: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).
  ret.coverage = atoi(argv[3]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/gen_test_data/main.cpp:40:14:  [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).
  ret.seed = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/hamcluster.cpp:141:9:  [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).
    bfs.open(bfname, std::ios::out | std::ios::binary);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/hamcluster.cpp:142:9:  [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).
    kfs.open(kfname, std::ios::out | std::ios::binary);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_cluster.cpp:595:9:  [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).
    ofs.open(GetGoodKMersFname());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_cluster.cpp:597: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).
    ofs_bad.open(GetBadKMersFname());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.cpp:139:12:  [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 rcq[K];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.cpp:368: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(data.kmers_[kidx].data(), *kmer_it, hammer::KMer::TotalBytes);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/Read.cpp:460:3:  [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 nts[5] = {'A','C','G','T','N'};
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/Read.cpp:476:3:  [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 nts[5] = {'A','C','G','T','N'};
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/correct.cpp:546:18:  [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).
      corlog_out.open(tlogf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:97:3:  [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 mycmd[500];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:104:3:  [2] (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). Risk is low because the source is a constant string.
  strcpy(mycmd, "gunzip -c ");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:106:3:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
  strcat(mycmd, " > ");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:119:3:  [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 mycmd[100];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:256: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).
      err_out.open(errf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:268: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).
      err_out.open(errf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:400:23:  [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).
      single_err_out1.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:402:16:  [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).
      err_out1.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:426:23:  [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).
      single_err_out2.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:428:16:  [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).
      err_out2.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:460:23:  [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).
      single_err_out1.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:462:16:  [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).
      err_out1.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:486:23:  [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).
      single_err_out2.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:488:16:  [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).
      err_out2.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/edit.cpp:533: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).
    reads_in.open(fqf.c_str());
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.C:45:27:  [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).
gzstreambuf* gzstreambuf::open( const char* name, int open_mode) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.C:53: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  fmode[10];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.C:88: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 + (4 - n_putback), gptr() - n_putback, n_putback);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.C:142:5:  [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).
    open( name, mode);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.C:149:20:  [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).
void gzstreambase::open( const char* name, int open_mode) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.C:150:16:  [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).
    if ( ! buf.open( name, open_mode))
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.h:58: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             buffer[bufferSize]; // data buffer
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.h:72:18:  [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).
    gzstreambuf* open( const char* name, int open_mode);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.h:88: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).
    void open( const char* name, int open_mode);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.h:105: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).
    void open( const char* name, int open_mode = std::ios::in) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.h:106:23:  [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).
        gzstreambase::open( name, open_mode);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.h:116: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).
    void open( const char* name, int open_mode = std::ios::out) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_correct/gzstream.h:117:23:  [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).
        gzstreambase::open( name, open_mode);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count.cpp:118:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count.cpp:122:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count.cpp:124:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count.cpp:182:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count.cpp:218: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count.cpp:228:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count.cpp:231: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_17.cpp:115:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_17.cpp:119:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_17.cpp:121:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_17.cpp:179:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_17.cpp:215: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_17.cpp:225:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_17.cpp:228: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_19.cpp:115:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_19.cpp:119:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_19.cpp:121:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_19.cpp:179:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_19.cpp:215: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_19.cpp:225:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_19.cpp:228: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_21.cpp:115:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_21.cpp:119:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_21.cpp:121:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_21.cpp:179:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_21.cpp:215: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_21.cpp:225:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_21.cpp:228: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_25.cpp:115:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_25.cpp:119:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_25.cpp:121:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_25.cpp:179:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_25.cpp:215: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_25.cpp:225:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_25.cpp:228: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_29.cpp:115:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_29.cpp:119:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_29.cpp:121:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_29.cpp:179:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_29.cpp:215: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_29.cpp:225:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_29.cpp:228: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_33.cpp:116:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_33.cpp:120:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_33.cpp:122:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_33.cpp:180:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_33.cpp:216: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_33.cpp:226:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_33.cpp:229: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_37.cpp:115:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_37.cpp:119:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_37.cpp:121:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_37.cpp:179:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_37.cpp:215: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_37.cpp:225:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_37.cpp:228: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_45.cpp:115:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_45.cpp:119:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_45.cpp:121:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_45.cpp:179:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_45.cpp:215: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_45.cpp:225:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_45.cpp:228: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_55.cpp:115:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_55.cpp:119:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_55.cpp:121:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_55.cpp:181:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_55.cpp:217: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_55.cpp:227:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_55.cpp:230: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_65.cpp:115:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_65.cpp:119:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_65.cpp:121:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_65.cpp:179:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_65.cpp:215: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_65.cpp:225:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_65.cpp:228: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_75.cpp:115:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_75.cpp:119:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_75.cpp:121:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_75.cpp:179:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_75.cpp:215: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_75.cpp:225:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_75.cpp:228: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/correct_hist/main.cpp:57: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).
    ret.level = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/correct_hist/main.cpp:69:21:  [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 *kmer_hist = fopen(opts.kmer_hist.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/correct_hist/main.cpp:70:24:  [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 *trusted_hist = fopen(opts.trusted_hist.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/correct_hist/main.cpp:71:20:  [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 *bad_hist = fopen(opts.bad_hist.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count.cpp:76:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count.cpp:109: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count.cpp:123: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count/count.cpp:104:20:  [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).
    ret.qvoffset = atoi(argv[1]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count/count.cpp:108:27:  [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).
    ret.error_threshold = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count/count.cpp:110:23:  [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).
    ret.file_number = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count/count.cpp:158:3:  [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 buffer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count/count.cpp:191: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 filename[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count/count.cpp:193:17:  [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).
    ofiles[i] = fopen(filename, "wb");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count/count.cpp:201:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count/count.cpp:204: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 ifile_name[50];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count/count.cpp:206:19:  [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 *ifile = fopen(ifile_name, "rb");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted/main.cpp:70:17:  [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 *ifile = fopen(opts.ifile.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted/main.cpp:71:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted/main.cpp:72:19:  [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 *badfile = fopen(opts.badfile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted/main.cpp:73:3:  [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 kmer[kMaxK];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted/main.cpp:74:3:  [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 format[20];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted_enh/main.cpp:77:17:  [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 *ifile = fopen(opts.ifile.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted_enh/main.cpp:78:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted_enh/main.cpp:79:19:  [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 *badfile = fopen(opts.badfile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted_enh/main.cpp:80:23:  [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 *limits_file = fopen(opts.limits.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted_enh/main.cpp:87:3:  [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 kmer[kMaxK];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/filter_trusted_enh/main.cpp:88:3:  [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 format[20];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/generate_limits/main.cpp:59:13:  [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).
    ret.k = atoi(argv[4]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/generate_limits/main.cpp:121:17:  [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 *ifile = fopen(opts.ifile.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/generate_limits/main.cpp:122:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_graph/prepare_graph.cpp:64:26:  [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).
    ret.ticks_per_step = atoi(argv[3]);
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_graph/prepare_graph.cpp:82:17:  [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 *ifile = fopen(opts.ifile.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_graph/prepare_graph.cpp:83:17:  [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 *ofile = fopen(opts.ofile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_graph/prepare_graph.cpp:85:3:  [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 kmer[kMaxK];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_graph/prepare_graph.cpp:86:3:  [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 format[20];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_hist.cpp:24:19:  [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 *ofile = fopen(hist_file.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_hist.cpp:35:17:  [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 *ifile = fopen(kmer_count_file_.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_hist.cpp:36:3:  [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 kmer[kK + 1];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_hist.cpp:37:3:  [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 format[20];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_hist.cpp:107:30:  [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 *trusted_hist_out = fopen(trusted_hist_file.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/prepare_hist.cpp:116:26:  [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 *bad_hist_out = fopen(bad_hist_file.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/test_correction_quality/main.cpp:70:22:  [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 *genom_file = fopen(opts.genom_file.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/test_correction_quality/main.cpp:71:22:  [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 *trust_file = fopen(opts.trust_file.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/test_correction_quality/main.cpp:72:20:  [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 *bad_file = fopen(opts.bad_file.c_str(), "r");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/test_correction_quality/main.cpp:73:3:  [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 kmer[kMaxK];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/test_correction_quality/main.cpp:74:3:  [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 format[20];
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:261: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(&child->state[child->window_start], &parent->state[child->window_start],
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:335: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.
  static const char nuc_int_to_char[5] = "ACGT";
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:560:7:  [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(&child->prediction[0], &parent->prediction[0], (parent->window_start)*sizeof(float));
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.C:45:27:  [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).
gzstreambuf* gzstreambuf::open( const char* name, int open_mode) {
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.C:53: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  fmode[10];
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.C:88: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 + (4 - n_putback), gptr() - n_putback, n_putback);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.C:142:5:  [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).
    open( name, mode);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.C:149:20:  [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).
void gzstreambase::open( const char* name, int open_mode) {
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.C:150:16:  [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).
    if ( ! buf.open( name, open_mode))
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.h:51: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             buffer[bufferSize]; // data buffer
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.h:65:18:  [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).
    gzstreambuf* open( const char* name, int open_mode);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.h:81: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).
    void open( const char* name, int open_mode);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.h:98: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).
    void open( const char* name, int open_mode = std::ios::in) {
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.h:99:23:  [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).
        gzstreambase::open( name, open_mode);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.h:111: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).
    void open( const char* name, int open_mode = std::ios::out) {
data/spades-3.13.1+dfsg/assembler/src/projects/mts/gzstream/gzstream.h:112:23:  [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).
        gzstreambase::open( name, open_mode);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:134:2:  [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 _marker[4];
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:299:4:  [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(&count, &int_counter, counter_size);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:364:4:  [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(&count, &int_counter, counter_size);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:452:4:  [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(&float_counter, &count, counter_size);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:646:7:  [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(&count, &int_counter, counter_size);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:743: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(&counters[i], &uint32_v[i], counter_size);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:1084:4:  [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(&float_counter, &counter, counter_size);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmer_api.h:238: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.
	static char num_codes[256];
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmer_defs.h:30:22:  [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).
	#define my_fopen    fopen
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmer_defs.h:41:22:  [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).
	#define my_fopen    fopen
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/base_commands.hpp:428:19:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
          outfile.open(file);
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/base_commands.hpp:481:18:  [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).
          infile.open(file);
data/spades-3.13.1+dfsg/assembler/src/test/cap/tests/inversions/gen.cpp:40:14:  [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 *fd = fopen(filename, "w");
data/spades-3.13.1+dfsg/assembler/src/test/cap/tests/inversions/gen.cpp:56:3:  [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 file1[30],
data/spades-3.13.1+dfsg/assembler/src/test/include_test/online_graph_visualizer_test.hpp:27:7:  [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).
    g.open();
data/spades-3.13.1+dfsg/assembler/src/test/include_test/online_graph_visualizer_test.hpp:38:7:  [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).
    g.open();
data/spades-3.13.1+dfsg/assembler/src/test/include_test/online_graph_visualizer_test.hpp:49:7:  [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).
    g.open();
data/spades-3.13.1+dfsg/assembler/src/test/include_test/online_graph_visualizer_test.hpp:62:7:  [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).
    g.open();
data/spades-3.13.1+dfsg/assembler/src/test/include_test/online_graph_visualizer_test.hpp:72:7:  [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).
    g.open();
data/spades-3.13.1+dfsg/assembler/src/test/include_test/online_graph_visualizer_test.hpp:84:7:  [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).
    g.open();
data/spades-3.13.1+dfsg/assembler/src/tools/cuckoo_test/cuckoo_test.cpp:29:9:  [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).
    d = atoi(argv[2]);
data/spades-3.13.1+dfsg/assembler/src/tools/cuckoo_test/cuckoo_test.cpp:30:11:  [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).
    lbs = atoi(argv[3]);
data/spades-3.13.1+dfsg/assembler/src/tools/cuckoo_test/cuckoo_test.cpp:31:12:  [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).
    step = atoi(argv[4]) / 10.;
data/spades-3.13.1+dfsg/assembler/src/tools/cuckoo_test/cuckoo_test.cpp:32:11:  [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).
    mld = atoi(argv[5]);
data/spades-3.13.1+dfsg/assembler/src/tools/filter/filter.cpp:45:9:  [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).
    L = atoi(argv[2]);
data/spades-3.13.1+dfsg/assembler/src/tools/filter/filter.cpp:48:13:  [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).
    m_num = atoi(argv[3]);
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:29:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char nucl_map[4] = {'A', 'C', 'G', 'T'};
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:31:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const char nucl_complement_map['T' + 1] = {
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:55: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 buf[k+1];
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:57:13:  [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).
    pFile = fopen (fname,"r");
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:74: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 buf[1024];
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:75:13:  [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).
    pFile = fopen (fname,"r");
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:97:20:  [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 * pFile = fopen (fname, "w");
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:113:21:  [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).
            k_min = atoi(argv[i+1]);
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:116:21:  [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).
            k_max = atoi(argv[i+1]);
data/spades-3.13.1+dfsg/assembler/src/tools/kmersongenome/src/processjelly.cpp:119:24:  [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).
            nthreads = atoi(argv[i+1]);
data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/analyses.cpp:25: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).
    fd = open (m_filename, O_RDONLY);
data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/analyses.cpp:90: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).
    fd = open (m_filename, O_RDONLY);
data/spades-3.13.1+dfsg/assembler/src/tools/kmerstats/analyses.h:42:86:  [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).
    Analyses(char *argv, char *mer, char *alg, bool isAlg) : m_filename(argv), m_mer(atoi(mer)), m_algname(alg), m_isAlg(isAlg) {
data/spades-3.13.1+dfsg/assembler/src/tools/maps_test/filter.cpp:42:13:  [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).
    m_num = atoi(argv[2]);
data/spades-3.13.1+dfsg/assembler/src/tools/nucmer_tool/nucmer_coords_tool.cpp:24:15:  [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 *f = fopen(file_name.c_str(),"r");
data/spades-3.13.1+dfsg/assembler/src/tools/nucmer_tool/nucmer_coords_tool.cpp:30: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 tmp_tag[1000];
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/Read.cpp:456:3:  [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 nts[5] = {'A','C','G','T','N'};
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/Read.cpp:472:3:  [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 nts[5] = {'A','C','G','T','N'};
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/correct.cpp:549:18:  [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).
      corlog_out.open(tlogf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:97:3:  [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 mycmd[500];
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:104:3:  [2] (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). Risk is low because the source is a constant string.
  strcpy(mycmd, "gunzip -c ");
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:106:3:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
  strcat(mycmd, " > ");
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:119:3:  [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 mycmd[100];
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:256: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).
      err_out.open(errf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:268: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).
      err_out.open(errf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:400:23:  [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).
      single_err_out1.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:402:16:  [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).
      err_out1.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:426:23:  [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).
      single_err_out2.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:428:16:  [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).
      err_out2.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:460:23:  [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).
      single_err_out1.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:462:16:  [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).
      err_out1.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:486:23:  [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).
      single_err_out2.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:488:16:  [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).
      err_out2.open(outf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/edit.cpp:533: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).
    reads_in.open(fqf.c_str());
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.C:45:27:  [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).
gzstreambuf* gzstreambuf::open( const char* name, int open_mode) {
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.C:53: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  fmode[10];
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.C:88: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 + (4 - n_putback), gptr() - n_putback, n_putback);
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.C:142:5:  [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).
    open( name, mode);
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.C:149:20:  [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).
void gzstreambase::open( const char* name, int open_mode) {
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.C:150:16:  [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).
    if ( ! buf.open( name, open_mode))
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.h:58: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             buffer[bufferSize]; // data buffer
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.h:72:18:  [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).
    gzstreambuf* open( const char* name, int open_mode);
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.h:88: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).
    void open( const char* name, int open_mode);
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.h:105: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).
    void open( const char* name, int open_mode = std::ios::in) {
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.h:106:23:  [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).
        gzstreambase::open( name, open_mode);
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.h:116: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).
    void open( const char* name, int open_mode = std::ios::out) {
data/spades-3.13.1+dfsg/assembler/src/tools/quake-correct/gzstream.h:117:23:  [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).
        gzstreambase::open( name, open_mode);
data/spades-3.13.1+dfsg/assembler/src/tools/readsReformatter.hpp:24:21:  [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* outFile = fopen(outputFile.c_str(), "w");
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:223:3:  [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 name[32], cmd[MAXLINE];
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:234: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 name[32];
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:238:3:  [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 uid_name[32];
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:336:7:  [2] (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). Risk is low because the source is a constant string.
      strcpy(P[i].cmd, "<defunct>");
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:399: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 name[32];
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:407:10:  [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).
    tn = fopen(name, "r");
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:418:10:  [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).
    tn = fopen(name, "r");
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:445:3:  [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 line[MAXLINE], command[] = PSCMD;
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:451:28:  [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).
    else if (NULL == (tn = fopen(input,"r"))) {
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:494:7:  [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 tmp[MAXLINE];
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:512:7:  [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 buf1[45], buf2[MAXLINE];
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:693:3:  [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 nhead[MAXLINE], out[4 * MAXLINE], thread[16] = {'\0'};
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:789: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).
      graph   = atoi(optarg);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:798:19:  [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).
      maxLdepth = atoi(optarg);               /* LOPTION */
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:803: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).
      ipid    = atoi(optarg);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:871:15:  [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).
    Columns = atoi((char*)termdef(fileno(stdout),'c'));
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:882:21:  [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).
    Columns = env ? atoi(env) : 80;
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:905: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).
    pid = (long)atoi(argv[optind]);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:934:3:  [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 bigbuf[1024] = {'\0'};  
data/spades-3.13.1+dfsg/assembler/ext/include/bamtools/api/BamAlignment.h:524:37:  [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).
    const unsigned int dataLength = strlen(pTagData);
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:641:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read(reinterpret_cast<char*>(&_size), sizeof(_size));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:642:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read(reinterpret_cast<char*>(&_nchar), sizeof(_nchar));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:644:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read(reinterpret_cast<char *>(_bitArray), (std::streamsize)(sizeof(uint64_t) * _nchar));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:647:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read(reinterpret_cast<char *>(&sizer),  sizeof(size_t));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:649:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read(reinterpret_cast<char*>(_ranks.data()), (std::streamsize)(sizeof(_ranks[0]) * _ranks.size()));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1058:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read(reinterpret_cast<char*>(&_gamma), sizeof(_gamma));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1059:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read(reinterpret_cast<char*>(&_nb_levels), sizeof(_nb_levels));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1060:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read(reinterpret_cast<char*>(&_lastbitsetrank), sizeof(_lastbitsetrank));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1061:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read(reinterpret_cast<char*>(&_nelem), sizeof(_nelem));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1093:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read(reinterpret_cast<char *>(&final_hash_size), sizeof(size_t));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1100:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            is.read(reinterpret_cast<char *>(&key), sizeof(internal_hash_t));
data/spades-3.13.1+dfsg/assembler/ext/include/boomphf/BooPHF.h:1101:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            is.read(reinterpret_cast<char *>(&value), sizeof(uint64_t));
data/spades-3.13.1+dfsg/assembler/ext/include/clipp/clipp.h:412:29:  [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).
        const auto n = std::strlen(s);
data/spades-3.13.1+dfsg/assembler/ext/include/clipp/clipp.h:609:29:  [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).
        if(t_ && s && (std::strlen(s) > 0))
data/spades-3.13.1+dfsg/assembler/ext/include/clipp/clipp.h:5116:17:  [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).
        if(std::strlen(a) > 0) args.push_back(a);
data/spades-3.13.1+dfsg/assembler/ext/include/cppformat/posix.h:298:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  std::size_t read(void *buffer, std::size_t count);
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/ArrayRef.h:160:19:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
      return std::equal(begin(), end(), RHS.begin());
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/STLExtras.h:449:8:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
struct equal {
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/SmallVector.h:672:17:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    return std::equal(this->begin(), this->end(), RHS.begin());
data/spades-3.13.1+dfsg/assembler/ext/include/llvm/ADT/StringRef.h:73:20:  [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).
        Length = ::strlen(Str); // invoking strlen(NULL) is undefined behavior
data/spades-3.13.1+dfsg/assembler/ext/include/sparsehash/internal/hashtable-common.h:107:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  return fp->read(reinterpret_cast<char*>(data), length).good();
data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Coverage.cpp:65:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        for (int read=0; read < nReads; read++)
data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Coverage.cpp:67:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            uint32_t tStart_ = tStart[read];
data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Coverage.cpp:68:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            uint32_t tEnd_   = tEnd[read];
data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Poa/PoaConsensus.cpp:70:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        foreach (const std::string& read, reads)
data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Poa/PoaConsensus.cpp:72:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if (read.length() == 0)
data/spades-3.13.1+dfsg/assembler/ext/src/ConsensusCore/Poa/PoaConsensus.cpp:76:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            pc->poaGraph_->AddSequence(read, config);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/ParallelBgzfStream_p.cpp:74:13:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
            strcat(mode_cstr, "r");
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/ParallelBgzfStream_p.cpp:77:13:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
            strcat(mode_cstr, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/ParallelBgzfStream_p.cpp:79:17:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
                strcat(mode_cstr, "b");
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:236:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	netwrite(ftp->ctrl_fd, cmd, strlen(cmd));
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:309:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(fp->host, fn + 6, l);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:310:20:  [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).
	fp->retr = calloc(strlen(p) + 8, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:312:27:  [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).
    fp->size_cmd = calloc(strlen(p) + 8, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:381:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(fp->http_host, fn + 7, l);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.c:520:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				curr = read(fp->fd, buf + l, rest);
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/knetfile.h:8:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define netread(fd, ptr, len) read(fd, ptr, len)
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/reader.c:109:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
              if((b->block_length = read(r->fd_file, b->buffer, WINDOW_SIZE)) < 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/bamtools/api/internal/io/pbgzf/reader.c:175:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          if((b->block_length = read(r->fd_file, b->buffer, WINDOW_SIZE)) < 0) {
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:143: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).
  if (message == buffer && strlen(buffer) == buffer_size - 1)
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/format.cc:154:27:  [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).
  if (result == 0 && std::strlen(buffer) == buffer_size - 1)
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/posix.cc:152:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
std::size_t fmt::File::read(void *buffer, std::size_t count) {
data/spades-3.13.1+dfsg/assembler/ext/src/cppformat/posix.cc:154:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  FMT_RETRY(result, FMT_POSIX_CALL(read(fd_, buffer, convert_rwcount(count))));
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/gfa.c:288:16:  [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).
		} else len = strlen(seq);
data/spades-3.13.1+dfsg/assembler/ext/src/gfa1/kstring.h:76:19:  [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 kputsn(p, strlen(p), s);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ckh.c:538:16:  [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).
	h = hash(key, strlen((const char *)key), UINT64_C(0x94122f335b332aea));
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ckh.c:548:20:  [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).
		ret2 = hash(key, strlen((const char *)key),
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/ctl.c:744:9:  [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).
				if (strlen(child->name) == elen &&
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/jemalloc.c:74:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#  pragma section(".CRT$XCU", read)
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/jemalloc.c:550:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
				strncpy(o, v, cpylen);			\
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:586:9:  [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).
	slen = strlen(s);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/prof.c:820:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			nread = read(mfd, &prof_dump_buf[prof_dump_buf_end],
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/tsd.c:102:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#  pragma section(".CRT$XLY",long,read)
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:53:59:  [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).
	UNUSED int result = syscall(SYS_write, STDERR_FILENO, s, strlen(s));
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:55:46:  [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).
	UNUSED int result = write(STDERR_FILENO, s, strlen(s));
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:90:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(buf, b, buflen);
data/spades-3.13.1+dfsg/assembler/ext/src/jemalloc/util.c:543:27:  [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).
				slen = (prec == -1) ? strlen(s) : prec;
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/MemoryBuffer.cpp:226:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ReadBytes = read(FD, Buffer.end(), ChunkSize);
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/Path.cpp:811:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BytesRead = read(ReadFD, Buf, BufSize);
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/YAMLTraits.cpp:740:20:  [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).
  if (key.size() < strlen(spaces))
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regcomp.c:181:9:  [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).
		len = strlen((const char *)pattern);
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regcomp.c:828:40:  [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).
	for (u = cp->multis; *u != '\0'; u += strlen(u) + 1)
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regcomp.c:1211:17:  [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).
	cs->smultis += strlen(cp) + 1;
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regerror.c:97: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).
				assert(strlen(r->name) < sizeof(convbuf));
data/spades-3.13.1+dfsg/assembler/ext/src/llvm/regerror.c:107:8:  [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).
	len = strlen(s) + 1;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.c:128:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
	strncpy(buf, "BAM\001", 4);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam.c:145:14:  [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).
		name_len = strlen(p) + 1;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_aux.c:118:17:  [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).
	name_end = l = strlen(str);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_color.c:23:10:  [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).
	    i = strlen(cs) - 1 - i;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_color.c:52:10:  [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).
	    i = strlen(cq) - 1 - i;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_color.c:113:10:  [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).
		cs_i = strlen(cs) - 1 - i;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:189:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(header->text + header->l_text, str->s, str->l+1); // we cannot use strcpy() here.
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:258:16:  [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).
		c->l_qname = strlen(str->s) + 1;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:344:16:  [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).
			c->l_qseq = strlen(str->s);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_import.c:357:43:  [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).
		if (strcmp(str->s, "*") && c->l_qseq != strlen(str->s))
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:396:11:  [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 l = strlen(_fn);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:401:24:  [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).
	fnidx = (char*)calloc(strlen(fn) + 5, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:406:17:  [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).
		if (s == fn + strlen(fn) - 3) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:408:10:  [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).
			fnidx[strlen(fn)-1] = 'i';
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:430:6:  [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).
	l = strlen(url);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:463:24:  [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).
		char *fnidx = calloc(strlen(fn) + 5, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_index.c:491:25:  [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).
		fnidx = (char*)calloc(strlen(fn) + 5, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:106:8:  [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).
			if (strlen((char*)old_md+1) == str->l) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:319:2:  [1] (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). Risk is low because the source is a constant character.
	strcpy(mode_r, "r"); strcpy(mode_w, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:319:23:  [1] (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). Risk is low because the source is a constant character.
	strcpy(mode_r, "r"); strcpy(mode_w, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:338:18:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (!is_sam_in) strcat(mode_r, "b");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:339:18:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (is_bam_out) strcat(mode_w, "b");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:340:7:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	else strcat(mode_w, "h");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_md.c:341:23:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (is_uncompressed) strcat(mode_w, "u");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_plcmd.c:443: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).
        len = strlen(buf);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:123: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).
			int l = strlen(fn[i]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:130:4:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
			strncpy(RG[i], s + j, l);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:217:2:  [1] (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). Risk is low because the source is a constant character.
	strcpy(mode, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:340:16:  [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).
		h->l_text += strlen(so) + 15;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:345:38:  [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).
		h->l_text = (beg - h->text) + (4 + strlen(so)) + (h->text + h->l_text - end);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:347:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
		strncpy(newtext, h->text, beg - h->text);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:391: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).
	name = (char*)calloc(strlen(w->prefix) + 20, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:493:17:  [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).
	fnout = calloc(strlen(prefix) + 20, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:494:17:  [1] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source is a constant character.
	if (is_stdout) sprintf(fnout, "-");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:499:3:  [1] (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). Risk is low because the source is a constant character.
		strcpy(mode, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_sort.c:509:27:  [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).
			fns[i] = (char*)calloc(strlen(prefix) + 20, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bam_tview.c:257: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).
		str = (char*)calloc(strlen(tv->header->target_name[tv->curr_tid]) + 30, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bamshuf.c:65:6:  [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).
	l = strlen(pre);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcf.c:329:33:  [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_diff = 0, ori_len = strlen(str);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/bcf.c:391:6:  [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).
	if (strlen(b->ref) > 1) return 1;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:380:73:  [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).
			for (tid = 0; tid < vc.n_sub; ++tid) vc.ploidy[tid] = vc.subsam[tid][strlen(vc.subsam[tid]) + 1];
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:452:2:  [1] (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). Risk is low because the source is a constant character.
	strcpy(moder, "r");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:453:29:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (!(vc.flag & VC_VCFIN)) strcat(moder, "b");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:454:2:  [1] (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). Risk is low because the source is a constant character.
	strcpy(modew, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:455:27:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (vc.flag & VC_BCFOUT) strcat(modew, "b");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:456:27:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (vc.flag & VC_UNCOMP) strcat(modew, "u");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:526:72:  [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).
		if (vc.bed && !bed_overlap(vc.bed, hin->ns[b->tid], b->pos, b->pos + strlen(b->ref))) continue;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/call1.c:528: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).
			int l = strlen(b->ref);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:75:9:  [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).
		tmp = strlen(b->ref);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:179:6:  [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).
	l = strlen(url);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:210:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	char *fnidx = (char*)calloc(strlen(fn) + 5, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:214:11:  [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 l = strlen(fnidx);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:255:25:  [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).
		fnidx = (char*)calloc(strlen(fn) + 5, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bcftools/index.c:285:6:  [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).
	l = strlen(str);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:124:25:  [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).
				char *name = malloc(strlen(argv[optind]) + 5);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:137:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		while ((c = read(f_src, buffer, WINDOW_SIZE)) > 0)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:157:14:  [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(argv[optind]);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/bgzip.c:174:10:  [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).
				name[strlen(name) - 3] = '\0';
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:194:22:  [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).
	str = (char*)calloc(strlen(fn) + 5, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:226:13:  [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 l = strlen(fn);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:263:22:  [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).
	str = (char*)calloc(strlen(fn) + 5, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/faidx.c:314:17:  [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).
	name_end = l = strlen(str);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:236:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	netwrite(ftp->ctrl_fd, cmd, strlen(cmd));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:309:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(fp->host, fn + 6, l);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:310:20:  [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).
	fp->retr = calloc(strlen(p) + 8, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:312:27:  [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).
    fp->size_cmd = calloc(strlen(p) + 8, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:381:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(fp->http_host, fn + 7, l);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.c:520:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				curr = read(fp->fd, buf + l, rest);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/knetfile.h:8:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
#define netread(fd, ptr, len) read(fd, ptr, len)
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kprobaln.c:269:10:  [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).
	l_ref = strlen((char*)ref); l_query = strlen((char*)query);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kprobaln.c:269:40:  [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).
	l_ref = strlen((char*)ref); l_query = strlen((char*)query);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.c:58:6:  [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).
	l = strlen(s);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.c:161:29:  [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 (char*)kmemmem(str, strlen(str), pat, strlen(pat), _prep);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.c:161:47:  [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 (char*)kmemmem(str, strlen(str), pat, strlen(pat), _prep);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.c:166:37:  [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 (char*)kmemmem(str, n, pat, strlen(pat), _prep);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/kstring.h:95:19:  [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 kputsn(p, strlen(p), s);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:382:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            uint8_t cread = bam1_seqi(read,iread);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:1135:15:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while ((c=getc(fp))!= EOF && c!='\n')
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/bamcheck.c:1388:23:  [1] (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). Risk is low because the source is a constant character.
            case 's': strcpy(in_mode, "r"); break;
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/misc/maq2sam.c:117: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).
			int l = strlen(m1->name);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:338:9:  [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).
	assert(strlen(old->text) == strlen(header->text));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:338:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	assert(strlen(old->text) == strlen(header->text));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:356:4:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
			strncat(newtext, text, end - text + 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:362:10:  [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).
	assert (strlen(header->text) <= strlen(old->text));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:362:34:  [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).
	assert (strlen(header->text) <= strlen(old->text));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:363:6:  [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).
	if (strlen(header->text) < header->l_text) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:366:20:  [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).
		newtext = malloc(strlen(header->text) + 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:370:20:  [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).
		header->l_text = strlen(newtext);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:388:2:  [1] (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). Risk is low because the source is a constant character.
	strcpy(in_mode, "r"); strcpy(out_mode, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:388:24:  [1] (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). Risk is low because the source is a constant character.
	strcpy(in_mode, "r"); strcpy(out_mode, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:403:16:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (is_bamin) strcat(in_mode, "b");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:404:17:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (is_bamout) strcat(out_mode, "b");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/padding.c:405:2:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	strcat(out_mode, "h");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/phase.c:562:20:  [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).
		char *s = malloc(strlen(g.pre) + 20);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:124:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(fd, &rz->index->size, sizeof(int));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:133:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(fd, rz->index->bin_offsets, sizeof(int64_t) * v32);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:139:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(fd, rz->index->cell_offsets, sizeof(int) * rz->index->size);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:178:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120). Risk is low because the source is a
  constant string.
	strncpy((char*)rz->header->extra, "RAZF", 4);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:375:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	n = read(rz->filedes, rz->inbuf, RZ_BUFFER_SIZE);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:422:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		read(fd, &end, sizeof(int64_t));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:430:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		read(fd, &end, sizeof(int64_t));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:572:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		ret = read(rz->filedes, data, size);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:586:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				rz->stream->avail_in = read(rz->filedes, rz->inbuf, rz->end -rz->in);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razf.c:592:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				rz->stream->avail_in = read(rz->filedes, rz->inbuf, RZ_BUFFER_SIZE);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:82:32:  [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).
				char *name = malloc(sizeof(strlen(argv[optind]) + 5));
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:95:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		while((c = read(f_src, buffer, WINDOW_SIZE)) > 0) razf_write(rz, buffer, c);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:114:55:  [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).
				if (strstr(argv[optind], ".rz") - argv[optind] != strlen(argv[optind]) - 3) {
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/razip.c:119:10:  [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).
				name[strlen(name) - 3] = '\0';
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c:34:2:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
	strncpy(header->text + header->l_text, text, len); // we cannot use strcpy() here.
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c:145:11:  [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 l = strlen(s);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam.c:172:19:  [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).
	fn_list = calloc(strlen(fn_ref) + 5, 1);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:532:20:  [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).
            len += strlen(tag->value) + 1;                  // \t
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:534:24:  [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).
                len += strlen(tag->value) + 3;              // XY:
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:553:21:  [1] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source is a constant character.
            nout += sprintf(out+nout,"\t");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_header.c:560:17:  [1] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source is a constant character.
        nout += sprintf(out+nout,"\n");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:86: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).
		if (q == 0) q = p + strlen(p);
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:137:2:  [1] (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). Risk is low because the source is a constant character.
	strcpy(in_mode, "r"); strcpy(out_mode, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:137:24:  [1] (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). Risk is low because the source is a constant character.
	strcpy(in_mode, "r"); strcpy(out_mode, "w");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:176:17:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (is_bamout) strcat(out_mode, "b");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:178:29:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
		if (of_type == BAM_OFHEX) strcat(out_mode, "x");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:179:34:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
		else if (of_type == BAM_OFSTR) strcat(out_mode, "X");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:181:16:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (is_bamin) strcat(in_mode, "b");
data/spades-3.13.1+dfsg/assembler/ext/src/samtools/sam_view.c:182:17:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
	if (is_header) strcat(out_mode, "h");
data/spades-3.13.1+dfsg/assembler/src/common/adt/chained_iterator.hpp:55:10:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    bool equal(const chained_iterator &other) const {
data/spades-3.13.1+dfsg/assembler/src/common/adt/small_pod_vector.hpp:382:21:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        return std::equal(this->begin(), this->end(), rhs.begin());
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/graph_core.hpp:121:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        bool equal(const conjugate_iterator &other) const {
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/core/graph_iterators.hpp:238:10:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    bool equal(const GraphEdgeIterator &other) const {
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/index/edge_position_index.hpp:139:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader.read((char*)&sz, sizeof(sz));
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/index/edge_position_index.hpp:142:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            reader.read((char*)&(this->data_[i].count), sizeof(this->data_[0].count));
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/index/edge_position_index.hpp:194:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      reader.read((char*)&sz, sizeof(sz));
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/index/edge_position_index.hpp:197:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          reader.read((char*)&(this->data_[i].count), sizeof(this->data_[0].count));
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/paths/mapping_path.hpp:193:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        bool equal(const mapping_path_iter &that) const {
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/stats/picture_dump.hpp:198:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/stats/picture_dump.hpp:200:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        (*contigs_to_thread) >> read;
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/stats/picture_dump.hpp:201:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        make_dir(folder + read.name());
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/stats/picture_dump.hpp:202:92:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        visualization::visualization_utils::WriteComponentsAlongPath(g, mapper.MapSequence(read.sequence()).simple_path(),
data/spades-3.13.1+dfsg/assembler/src/common/assembly_graph/stats/picture_dump.hpp:203:79:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                                                     folder + read.name() + "/", colorer, labeler);
data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/dataset_readers.hpp:40:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      for (const auto& read : lib.reads()) {
data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/dataset_readers.hpp:42:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        streams.push_back(EasyStream(read, followed_by_rc, handle_Ns, offset_type));
data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/dataset_readers.hpp:45:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      for (const auto& read : lib.single_reads()) {
data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/dataset_readers.hpp:46:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        streams.push_back(EasyStream(read, followed_by_rc, handle_Ns, offset_type));
data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/dataset_readers.hpp:68:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for (const auto& read : lib.merged_reads()) {
data/spades-3.13.1+dfsg/assembler/src/common/io/dataset_support/dataset_readers.hpp:69:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        streams.push_back(EasyStream(read, followed_by_rc, handle_Ns, offset_type));
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:151:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(void *buf, size_t amount) {
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:222:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(T *el, size_t amount) {
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:223:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        MMappedReader::read(el, amount * sizeof(T));
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:258:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader_.read(&value_, sizeof(value_));
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:263:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader_.read(&value_, sizeof(value_));
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:276:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            reader_.read(&value_, sizeof(value_));
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:279:10:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    bool equal(const MMappedFileRecordIterator &other) {
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:311:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(T *el, size_t amount) {
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:312:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        MMappedReader::read(el, amount * sizeof(T) * elcnt_);
data/spades-3.13.1+dfsg/assembler/src/common/io/kmers/mmapped_reader.hpp:392:10:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    bool equal(const MMappedFileRecordArrayIterator &other) const {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_converter.hpp:97:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    for (const Read &read : buf[i]) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_converter.hpp:98:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                        writer.Write(*file_ds_[i], read);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:28:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read_stat_.read(stream_);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:50:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BinaryFileSingleStream& operator>>(SingleReadSeq& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:51:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.BinRead(stream_);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:75:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    PairedReadSeq Convert(const SingleReadSeq &read) const {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:76:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (read.GetLeftOffset() >= read_length_ ||
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:77:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read.GetRightOffset() >= read_length_) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:83:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        const size_t left_length = std::min(read.size(),
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:84:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                      read_length_ - read.GetLeftOffset());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:85:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        const size_t right_length = std::min(read.size(),
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:86:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                      read_length_ - read.GetRightOffset());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:87:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        SingleReadSeq left(read.sequence().Subseq(0, left_length),
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:88:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           read.GetLeftOffset(), 0);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:89:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        SingleReadSeq right(read.sequence().Subseq(read.size() - right_length),
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:89:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        SingleReadSeq right(read.sequence().Subseq(read.size() - right_length),
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:90:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            0, read.GetRightOffset());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:112:60:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BinaryUnmergingPairedStream& operator>>(PairedReadSeq& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:139:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read_stat_.read(stream_);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:161:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BinaryFilePairedStream& operator>>(PairedReadSeq& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/binary_streams.hpp:162:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.BinRead(stream_, insert_size_);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/delegating_reader_wrapper.hpp:35:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    DelegatingWrapper& operator>>(ReadType& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/delegating_reader_wrapper.hpp:36:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        (*reader_) >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/fasta_fastq_gz_parser.hpp:80:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    FastaFastqGzParser& operator>>(SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/filtering_reader_wrapper.hpp:75:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    FilteringReaderWrapper& operator>>(ReadType& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireader.hpp:28:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(std::istream& stream) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireader.hpp:29:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        stream.read((char *) &read_count, sizeof(read_count));
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireader.hpp:30:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        stream.read((char *) &max_len, sizeof(max_len));
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireader.hpp:31:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        stream.read((char *) &total_len, sizeof(total_len));
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireader.hpp:35:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void increase(const Read& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireader.hpp:36:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        size_t len = read.size();
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireader.hpp:42:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        total_len += read.nucl_count();
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/ireader.hpp:94:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  virtual ReadStream& operator>>(ReadType& read) = 0;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/longest_valid_wrapper.hpp:67:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LongestValidRetainingWrapper& operator>>(ReadType& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/longest_valid_wrapper.hpp:68:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        this->reader() >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/longest_valid_wrapper.hpp:69:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = LongestValid(read);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:23:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SingleRead Modify(const SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:24:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return SingleRead(read.name(), Modify(read.sequence()).str());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:24:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return SingleRead(read.name(), Modify(read.sequence()).str());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:27:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SingleReadSeq Modify(const SingleReadSeq& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:28:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return SingleReadSeq(Modify(read.sequence()));
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:57:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ModifyingWrapper& operator>>(SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:58:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        this->reader() >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:59:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = modifier_->Modify(read);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:73:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ModifyingWrapper& operator>>(PairedRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:74:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        this->reader() >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:75:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = PairedRead(modifier_->Modify(read.first()),
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:76:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                          modifier_->Modify(read.second()),
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:77:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                          read.orig_insert_size());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:91:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ModifyingWrapper& operator>>(SingleReadSeq& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:92:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        this->reader() >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:93:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = SingleReadSeq(modifier_->Modify(read.sequence()), read.GetLeftOffset(), read.GetRightOffset());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:93:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = SingleReadSeq(modifier_->Modify(read.sequence()), read.GetLeftOffset(), read.GetRightOffset());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:93:88:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = SingleReadSeq(modifier_->Modify(read.sequence()), read.GetLeftOffset(), read.GetRightOffset());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:107:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ModifyingWrapper& operator>>(PairedReadSeq& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:108:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        this->reader() >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:109:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = PairedReadSeq(modifier_->Modify(read.first()), modifier_->Modify(read.second()), read.orig_insert_size());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:109:81:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = PairedReadSeq(modifier_->Modify(read.first()), modifier_->Modify(read.second()), read.orig_insert_size());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/modifying_reader_wrapper.hpp:109:97:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = PairedReadSeq(modifier_->Modify(read.first()), modifier_->Modify(read.second()), read.orig_insert_size());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/mpmc_bounded.hpp:149:17:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
                usleep(1);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/multifile_reader.hpp:47:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MultifileStream& operator>>(ReadType& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/multifile_reader.hpp:49:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            readers_[current_reader_index_] >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/orientation.hpp:33:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
ReadType GetRCRead(const ReadType &read, bool rc) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/orientation.hpp:34:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return rc ? !read : read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/orientation.hpp:34:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return rc ? !read : read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp:94:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OFastaReadStream& operator<<(const SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp:95:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ofstream_ << ">" << read.name() << "\n";
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp:96:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        WriteWrapped(read.GetSequenceString(), ofstream_);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp:111:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OFastqReadStream& operator<<(const SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp:112:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        os_ << "@" << read.name() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp:113:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        os_ << read.GetSequenceString() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp:115:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        os_ << read.GetPhredQualityString() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp:137:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OPairedReadStream& operator<<(const PairedRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp:138:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        l_os_ << read.first();
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/osequencestream.hpp:139:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        r_os_ << read.second();
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/paired_read.hpp:123:69:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
inline std::ostream &operator<<(std::ostream &os, const PairedRead &read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/paired_read.hpp:124:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << "Single read first=" << read.first() << " second=" << read.second() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/paired_read.hpp:124:65:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << "Single read first=" << read.first() << " second=" << read.second() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/paired_read.hpp:130:72:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
inline std::ostream &operator<<(std::ostream &os, const PairedReadSeq &read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/paired_read.hpp:131:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << "Paired read first=" << read.first() << " second=" << read.second() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/paired_read.hpp:131:65:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << "Paired read first=" << read.first() << " second=" << read.second() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/parser.hpp:78:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual Parser &operator>>(SingleRead &read) = 0;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/rc_reader_wrapper.hpp:34:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    RCWrapper& operator>>(ReadType& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/rc_reader_wrapper.hpp:36:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            base::operator >>(read);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/rc_reader_wrapper.hpp:37:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            rc_read_ = read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/rc_reader_wrapper.hpp:79:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OrientationChangingWrapper& operator>>(ReadType& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/rc_reader_wrapper.hpp:80:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        base::operator >>(read);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/rc_reader_wrapper.hpp:81:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = changer_(read);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/rc_reader_wrapper.hpp:98:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    RCRemovingWrapper& operator>>(ReadType& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/rc_reader_wrapper.hpp:99:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        base::operator>>(read);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/read_processor.hpp:70:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    size_t read() const { return read_; }
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/sequence_reader.hpp:46:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SequenceReadStream &operator>>(ReadType &read);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/sequence_reader.hpp:56:88:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
SequenceReadStream<SingleRead> &SequenceReadStream<SingleRead>::operator>>(SingleRead &read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/sequence_reader.hpp:65:97:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
SequenceReadStream<SingleReadSeq> &SequenceReadStream<SingleReadSeq>::operator>>(SingleReadSeq &read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/single_read.hpp:245:69:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
inline std::ostream &operator<<(std::ostream &os, const SingleRead &read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/single_read.hpp:246:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << "Single read name=" << read.name() << " sequence=" << read.GetSequenceString() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/single_read.hpp:246:65:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << "Single read name=" << read.name() << " sequence=" << read.GetSequenceString() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/single_read.hpp:263:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        file.read((char *) &left_offset_, sizeof(left_offset_));
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/single_read.hpp:264:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        file.read((char *) &right_offset_, sizeof(right_offset_));
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/single_read.hpp:323:72:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
inline std::ostream &operator<<(std::ostream &os, const SingleReadSeq &read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/single_read.hpp:324:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    os << "Single read sequence=" << read.sequence() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/splitting_wrapper.hpp:52:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    SplittingWrapper& operator>>(SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:25:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    IdSettingReaderWrapper& operator>>(SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:26:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        this->reader() >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:27:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.ChangeName(std::to_string(next_id_++));
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:42:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    PrefixAddingReaderWrapper& operator>>(SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:43:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        this->reader() >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:44:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.ChangeName(prefix_ + read.name());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:44:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read.ChangeName(prefix_ + read.name());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:53:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    io::SingleRead MakeValid(const io::SingleRead& read) const {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:54:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        std::string str = read.GetSequenceString();
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:59:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return io::SingleRead(read.name(), str);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:68:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    FixingWrapper& operator>>(SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:69:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        this->reader() >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:70:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (!read.IsValid()) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:71:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            TRACE("Read " << read.name() << " was invalid. Fixing");
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:72:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            read = MakeValid(read);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:73:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            VERIFY(read.IsValid());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:85:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    io::SingleRead MakeValid(const io::SingleRead& read) const {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:86:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        std::string str = read.GetSequenceString();
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:88:32:  [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.size(); ++i) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:92:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return io::SingleRead(read.name(), ss.str());
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:101:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    NonNuclCollapsingWrapper& operator>>(SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:102:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        this->reader() >> read;
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:103:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (!read.IsValid()) {
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:104:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            TRACE("Read " << read.name() << " was invalid. Collapsing non-nucls");
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:105:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            read = MakeValid(read);
data/spades-3.13.1+dfsg/assembler/src/common/io/reads/wrapper_collection.hpp:106:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            VERIFY(read.IsValid());
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/bam_parser.hpp:34:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BAMParser& operator>>(SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/bam_reader.hpp:69:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    UnmappedBamStream &operator>>(BamRead &read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.cpp:23:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
MappedSamStream& MappedSamStream::operator>>(SingleSamRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.cpp:26:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.set_data(seq_);
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.cpp:32:62:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
MappedSamStream& MappedSamStream::operator >>(PairedSamRead& read) {
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.hpp:32:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappedSamStream& operator >>(SingleSamRead& read);
data/spades-3.13.1+dfsg/assembler/src/common/io/sam/sam_reader.hpp:33:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappedSamStream& operator >>(PairedSamRead& read);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.cpp:6:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
Sequence Subseq(const io::SingleRead& read, size_t start, size_t end) {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.cpp:8:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto subread = read.Substr(start, end);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.cpp:16:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
Sequence Subseq(const io::SingleReadSeq& read, size_t start, size_t end) {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.cpp:17:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read.sequence().Subseq(start, end);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.hpp:16:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
Sequence Subseq(const io::SingleRead& read, size_t start, size_t end);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.hpp:18:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
Sequence Subseq(const io::SingleReadSeq& read, size_t start, size_t end);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.hpp:179:86:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
static GapDescription<Graph> CreateGapInfoTryFixOverlap(const Graph &g, const ReadT &read,
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.hpp:205:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        VERIFY(seq_end + right_shift <= read.size());
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/gap_info.hpp:211:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        auto gap_seq = Subseq(read, seq_start, seq_end);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/kmer_map.hpp:48:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        bool equal(const iterator &other) const {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/kmer_mapper.hpp:178:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        file.read((char *) &size, sizeof(uint32_t));
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/long_read_mapper.hpp:48:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           const MappingPath<EdgeId>& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/long_read_mapper.hpp:49:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ProcessSingleRead(thread_index, read);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/long_read_mapper.hpp:54:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           const MappingPath<EdgeId>& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/long_read_mapper.hpp:55:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ProcessSingleRead(thread_index, read);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/pacbio/pac_index.hpp:409:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    OneReadMapping GetReadAlignment(const io::SingleRead &read) const {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/pacbio/pac_index.hpp:410:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        Sequence s = read.sequence();
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:22:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void ProcessRange(size_t thread_index, const MappingPath<EdgeId>& read) {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:23:32:  [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.size(); ++i) {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:24:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const auto& range = read[i].second;
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:26:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            tmp_storages_[thread_index].IncreaseKmerCount(read[i].first, kmer_count, symmetric_);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:49:107:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void ProcessSingleRead(size_t thread_index, const io::SingleRead& /* r */, const MappingPath<EdgeId>& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:50:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ProcessRange(thread_index, read);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:53:110:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void ProcessSingleRead(size_t thread_index, const io::SingleReadSeq& /* r */, const MappingPath<EdgeId>& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:54:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ProcessRange(thread_index, read);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:71:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void ProcessRange(size_t thread_index, const MappingPath<EdgeId>& read) {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:72:32:  [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.size(); ++i) {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:73:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            auto range = read.mapping_at(i).mapped_range;
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:74:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            tmp_storages_[thread_index].IncreaseKmerCount(read.edge_at(i), range);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:97:107:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void ProcessSingleRead(size_t thread_index, const io::SingleRead& /* r */, const MappingPath<EdgeId>& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:98:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ProcessRange(thread_index, read);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:101:110:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void ProcessSingleRead(size_t thread_index, const io::SingleReadSeq& /* r */, const MappingPath<EdgeId>& read) override {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/rna/ss_coverage_filler.hpp:102:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ProcessRange(thread_index, read);
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/sequence_mapper.hpp:52:63:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual MappingPath<EdgeId> MapRead(const io::SingleRead &read) const = 0;
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/sequence_mapper.hpp:67:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappingPath<EdgeId> MapRead(const io::SingleRead &read) const override {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/sequence_mapper.hpp:69:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        DEBUG(read.name() << " is mapping");
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/sequence_mapper.hpp:70:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        string s = read.GetSequenceString();
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/sequence_mapper.hpp:74:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if (read.GetSequenceString()[i] == 'N') {
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/sequence_mapper.hpp:87:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        DEBUG(read.name() << " is mapped");
data/spades-3.13.1+dfsg/assembler/src/common/modules/alignment/sequence_mapper_notifier.hpp:162:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappingPath<EdgeId> path = mapper.MapSequence(read);
data/spades-3.13.1+dfsg/assembler/src/common/modules/mismatch_shall_not_pass.hpp:140:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read_type read;
data/spades-3.13.1+dfsg/assembler/src/common/modules/mismatch_shall_not_pass.hpp:142:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            stream >> read;
data/spades-3.13.1+dfsg/assembler/src/common/modules/mismatch_shall_not_pass.hpp:143:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            const Sequence &s_read = read.sequence();
data/spades-3.13.1+dfsg/assembler/src/common/modules/mismatch_shall_not_pass.hpp:217:38:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        Sequence s_mm = g_.EdgeNucls(mismatch);
data/spades-3.13.1+dfsg/assembler/src/common/modules/mismatch_shall_not_pass.hpp:222:55:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        EdgeId correct_edge = g_.AddEdge(g_.EdgeStart(mismatch), g_.EdgeEnd(mismatch), correct);
data/spades-3.13.1+dfsg/assembler/src/common/modules/mismatch_shall_not_pass.hpp:222:77:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        EdgeId correct_edge = g_.AddEdge(g_.EdgeStart(mismatch), g_.EdgeEnd(mismatch), correct);
data/spades-3.13.1+dfsg/assembler/src/common/modules/mismatch_shall_not_pass.hpp:223:37:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        EdgeId glued = g_.GlueEdges(mismatch, correct_edge);
data/spades-3.13.1+dfsg/assembler/src/common/modules/path_extend/scaffolder2015/scaffold_graph.hpp:110:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        bool equal(const ConstScaffoldEdgeIterator &other) const {
data/spades-3.13.1+dfsg/assembler/src/common/paired_info/paired_info.hpp:104:25:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
            inline bool equal(const Iterator &other) const {
data/spades-3.13.1+dfsg/assembler/src/common/paired_info/paired_info.hpp:232:18:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
            bool equal(const Iterator &other) const {
data/spades-3.13.1+dfsg/assembler/src/common/paired_info/paired_info_helpers.hpp:75:10:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    bool equal(const EdgePairIterator &other) const {
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:70:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    file.read((char *) &k_, sizeof(uint32_t));
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:107:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    file.read((char *) &k_, sizeof(uint32_t));
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/graphio.hpp:624:34:  [1] (buffer) getc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        char first_char = (char) getc(sequence_file);
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/library.hpp:66:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        bool equal(const paired_reads_iterator &other) const {
data/spades-3.13.1+dfsg/assembler/src/common/pipeline/stage.cpp:43:42:  [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).
        len_ = (pos != NULL ? pos - id : strlen(id));
data/spades-3.13.1+dfsg/assembler/src/common/sequence/rtseq.hpp:205:16:  [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(t);
data/spades-3.13.1+dfsg/assembler/src/common/sequence/rtseq.hpp:338:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        file.read((char *) data_.data(), sizeof(T) * GetDataSize(size_));
data/spades-3.13.1+dfsg/assembler/src/common/sequence/seq.hpp:141:16:  [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(t);
data/spades-3.13.1+dfsg/assembler/src/common/sequence/seq.hpp:403:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        file.read((char *) seq->data_.data(), sizeof(T) * DataSize);
data/spades-3.13.1+dfsg/assembler/src/common/sequence/sequence.hpp:135:24:  [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).
            : Sequence(strlen(s), 0) {
data/spades-3.13.1+dfsg/assembler/src/common/sequence/sequence.hpp:140:24:  [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).
            : Sequence(strlen(s), 0) {
data/spades-3.13.1+dfsg/assembler/src/common/sequence/sequence.hpp:394:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    file.read((char *) &size_, sizeof(size_));
data/spades-3.13.1+dfsg/assembler/src/common/sequence/sequence.hpp:416:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    file.read((char *) data_->data(), DataSize(size_) * sizeof(ST));
data/spades-3.13.1+dfsg/assembler/src/common/stages/construction.cpp:58:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        for (const auto& read : lib.single_reads()) {
data/spades-3.13.1+dfsg/assembler/src/common/stages/construction.cpp:59:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            trusted_list.push_back(io::EasyStream(read, true));
data/spades-3.13.1+dfsg/assembler/src/common/utils/autocompletion.cpp:31:34:  [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).
            if (!name.compare(0, strlen(text), text))
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index.hpp:104:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)&num_buckets_, sizeof(num_buckets_));
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index.hpp:111:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)&bucket_starts_[0], (num_buckets_ + 1) * sizeof(bucket_starts_[0]));
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index_traits.hpp:71:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read((char*)&sz, sizeof(sz));
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index_traits.hpp:72:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read((char*)&elcnt, sizeof(elcnt));
data/spades-3.13.1+dfsg/assembler/src/common/utils/kmer_mph/kmer_index_traits.hpp:73:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read((char*)&off, sizeof(off));
data/spades-3.13.1+dfsg/assembler/src/common/utils/md5.h:388:37:  [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).
    Update( (unsigned char*)string, strlen(string) ) ;
data/spades-3.13.1+dfsg/assembler/src/common/utils/ph_map/values.hpp:90:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader.read((char*) &sz, sizeof(sz));
data/spades-3.13.1+dfsg/assembler/src/common/utils/ph_map/values.hpp:92:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader.read((char*) &data_[0], sz * sizeof(data_[0]));
data/spades-3.13.1+dfsg/assembler/src/common/visualization/position_filler.hpp:44:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    MappingPath Process(const io::SingleRead &read) const {
data/spades-3.13.1+dfsg/assembler/src/common/visualization/position_filler.hpp:45:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        MappingPath path = mapper_->MapRead(read);
data/spades-3.13.1+dfsg/assembler/src/common/visualization/position_filler.hpp:46:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        const string name = read.name();
data/spades-3.13.1+dfsg/assembler/src/common/visualization/position_filler.hpp:76:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/common/visualization/position_filler.hpp:78:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            stream >> read;
data/spades-3.13.1+dfsg/assembler/src/common/visualization/position_filler.hpp:79:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            Process(read);
data/spades-3.13.1+dfsg/assembler/src/projects/cap/assembly_compare.hpp:477:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/assembly_compare.hpp:479:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        assembly_to_thread >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/assembly_compare.hpp:480:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        make_dir(output_dir + read.name());
data/spades-3.13.1+dfsg/assembler/src/projects/cap/assembly_compare.hpp:482:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                output_dir + read.name() + "/.dot", /*split_edge_length*/400,
data/spades-3.13.1+dfsg/assembler/src/projects/cap/assembly_compare.hpp:483:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                mapper->MapSequence(read.sequence()),
data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_commands.hpp:688:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_commands.hpp:689:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/cap_commands.hpp:690:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        return read.sequence();
data/spades-3.13.1+dfsg/assembler/src/projects/cap/colored_graph_construction.hpp:77:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/colored_graph_construction.hpp:82:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            stream >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/colored_graph_construction.hpp:83:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            ProcessPath(mapper_.MapSequence(read.sequence()), crs);
data/spades-3.13.1+dfsg/assembler/src/projects/cap/colored_graph_construction.hpp:194:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/colored_graph_construction.hpp:197:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            stream >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/colored_graph_construction.hpp:198:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            PaintPath(mapper_.MapSequence(read.sequence()).path(),
data/spades-3.13.1+dfsg/assembler/src/projects/cap/comparison_utils.hpp:50:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/comparison_utils.hpp:51:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/comparison_utils.hpp:52:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read.sequence();
data/spades-3.13.1+dfsg/assembler/src/projects/cap/comparison_utils.hpp:80:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  io::SingleRead read("genome", genome.str());
data/spades-3.13.1+dfsg/assembler/src/projects/cap/comparison_utils.hpp:81:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  stream << read;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/deprecated/longseq_storage.hpp:17:44:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  typedef std::unordered_set<Kmer, hasher, equal> StorageT;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/deprecated/longseq_storage.hpp:18:53:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  typedef std::unordered_map<Kmer, JumperT, hasher, equal> JumpMapT;
data/spades-3.13.1+dfsg/assembler/src/projects/cap/junk_cropping_reader.hpp:27:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    JunkCroppingWrapper& operator>>(io::SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/projects/cap/junk_cropping_reader.hpp:28:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        base::operator >>(read);
data/spades-3.13.1+dfsg/assembler/src/projects/cap/junk_cropping_reader.hpp:30:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        string orig_string = read.GetSequenceString();
data/spades-3.13.1+dfsg/assembler/src/projects/cap/junk_cropping_reader.hpp:31:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        string orig_qual = read.GetQualityString();
data/spades-3.13.1+dfsg/assembler/src/projects/cap/junk_cropping_reader.hpp:45:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read = io::SingleRead(read.name(), cropped, cropped_qual);
data/spades-3.13.1+dfsg/assembler/src/projects/cap/mosaic.hpp:888:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
const io::SingleRead MakeRead(const string& read, const string& name = "") {
data/spades-3.13.1+dfsg/assembler/src/projects/cap/mosaic.hpp:891:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    qual.resize(read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/cap/mosaic.hpp:892:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return io::SingleRead(name, read, qual);
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:132:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool ContigProcessor::CountPositions(const SingleSamRead &read, unordered_map<size_t, position_description> &ps) const {
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:134:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (read.contig_id() < 0) {
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:139:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (read.map_qual() == 0) {
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:143:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    int pos = read.pos();
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:145:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        WARN("Negative position " << pos << " found on read " << read.name() << ", skipping");
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:150:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    size_t l_read = (size_t) read.data_len();
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:151:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    size_t l_cigar = read.cigar_len();
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:154:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint32_t *cigar = read.cigar_ptr();
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:173:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto seq = read.seq_ptr();
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:193:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                INFO(read.name());
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:235:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool ContigProcessor::CountPositions(const PairedSamRead &read, unordered_map<size_t, position_description> &ps) const {
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:238:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool t1 = CountPositions(read.Left(), ps );
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.cpp:240:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool t2 = CountPositions(read.Right(), tmp);
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.hpp:59:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool CountPositions(const SingleSamRead &read, std::unordered_map<size_t, position_description> &ps) const;
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/contig_processor.hpp:60:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool CountPositions(const PairedSamRead &read, std::unordered_map<size_t, position_description> &ps) const;
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp:58:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void DatasetProcessor::GetAlignedContigs(const string &read, set<string> &contigs) const {
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp:60:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    boost::split(arr, read, boost::is_any_of("\t"));
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp:91:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            for (const string &read : buffered_reads_[ac.first]) {
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp:92:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                stream << read;
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp:100:57:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void DatasetProcessor::BufferedOutputRead(const string &read, const string &contig_name, const size_t lib_count) {
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.cpp:101:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    buffered_reads_[contig_name].push_back(read);
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.hpp:63:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void BufferedOutputRead(const std::string &read, const std::string &contig_name, const size_t lib_count);
data/spades-3.13.1+dfsg/assembler/src/projects/corrector/dataset_processor.hpp:64:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void GetAlignedContigs(const std::string &read, std::set<std::string> &contigs) const;
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/gen_test_data/main.cpp:68:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    string read(opt.k, ' ');
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/gen_test_data/main.cpp:74:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read[i] = acgt[rand() % acgt.size()];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/gen_test_data/main.cpp:76:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read[i] = ref_genome[i + s];
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/gen_test_data/main.cpp:79:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read_file << read << endl;
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/hamcluster.hpp:29:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  is.read((char*)seq_data, sizeof(seq_data));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/hamcluster.hpp:127:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bis.read((char*)&sz, sizeof(sz));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/hamcluster.hpp:129:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bis.read((char*)blocks.data(), sz * sizeof(blocks[0]));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_cluster.cpp:621:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          is.read((char*)&cluster[0], *current * sizeof(cluster[0]));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.cpp:103:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      VERIFY_MSG(rp.read() == rp.processed(), "Queue unbalanced");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.cpp:290:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                  VERIFY_MSG(rp.read() == rp.processed(), "Queue unbalanced");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.cpp:322:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
              VERIFY_MSG(rp.read() == rp.processed(), "Queue unbalanced");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.cpp:386:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    VERIFY_MSG(rp.read() == rp.processed(), "Queue unbalanced");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.hpp:102:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)&sz, sizeof(sz));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.hpp:104:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)&data_[0], sz*sizeof(data_[0]));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.hpp:106:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)&sz, sizeof(sz));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.hpp:108:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)&push_back_buffer_[0], sz*sizeof(push_back_buffer_[0]));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.hpp:110:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)&kmer_push_back_buffer_[0], sz*sizeof(kmer_push_back_buffer_[0]));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.hpp:113:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)&sz, sizeof(sz));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_data.hpp:116:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)kmers_.data(), sz * sizeof(hammer::KMer::DataType) * hammer::KMer::GetDataSize(hammer::K));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_stat.hpp:167:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  is.read((char*)qbs.data(), sizeof(qbs));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_stat.hpp:179:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  is.read((char*)&k.count_with_lock, sizeof(k.count_with_lock));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/kmer_stat.hpp:180:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  is.read((char*)&k.total_qual, sizeof(k.total_qual));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/main.cpp:205:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            VERIFY_MSG(rp.read() == rp.processed(), "Queue unbalanced");
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count.cpp:189:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_17.cpp:186:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_19.cpp:186:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_21.cpp:186:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_25.cpp:186:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_29.cpp:186:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_33.cpp:187:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_37.cpp:186:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_45.cpp:186:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_55.cpp:188:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_65.cpp:186:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/quake_count_75.cpp:186:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifile.read((char *) &correct_probability, sizeof(correct_probability));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/valid_kmer_generator.hpp:39:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  explicit ValidKMerGenerator(const Read &read,
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/valid_kmer_generator.hpp:44:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      len_(read.getSequenceString().size()),
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/valid_kmer_generator.hpp:49:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      seq_(read.getSequenceString().data()),
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_count/valid_kmer_generator.hpp:50:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      qual_(read.getQualityString().data()) {
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/quake_enhanced/count.cpp:82:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ifile.read((char *) &q_count, sizeof(q_count));
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/valid_kmer_generator.hpp:45:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  explicit ValidKMerGenerator(const Read &read,
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/valid_kmer_generator.hpp:47:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Reset(read.getSequenceString().data(),
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/valid_kmer_generator.hpp:48:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          read.getQualityString().data(),
data/spades-3.13.1+dfsg/assembler/src/projects/hammer/valid_kmer_generator.hpp:49:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          read.getSequenceString().size(),
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/flow_space_read.hpp:26:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  FlowSpaceRead(const io::SingleRead& read) : name_(read.name()) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/flow_space_read.hpp:26:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  FlowSpaceRead(const io::SingleRead& read) : name_(read.name()) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/flow_space_read.hpp:27:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const auto& seq = read.GetSequenceString();
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp:53:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual bool operator()(const io::SingleRead& read) = 0;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp:73:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual bool operator()(const io::SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp:74:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      auto readSeq = read.sequence();
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp:131:68:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  std::unique_ptr<io::SingleRead> operator()(const io::SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp:132:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (!select_predicate_(read)) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp:136:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool debug_mode = debug_predicate_(read);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp:139:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      std::cerr << '>' << read.name() << '\n'
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp:140:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                << read.GetSequenceString() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp:143:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read, cfg::get().keep_uncorrected_ends, debug_mode);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/io_read_corrector.hpp:149:70:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto result = std::unique_ptr<io::SingleRead>(new io::SingleRead(read.name(), corected_seq));
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/kmer_data.cpp:81:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      VERIFY_MSG(rp.read() == rp.processed(), "Queue unbalanced");
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/kmer_data.hpp:113:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)&sz, sizeof(sz));
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/kmer_data.hpp:115:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    is.read((char*)&data_[0], sz * sizeof(data_[0]));
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/kmer_helpers.h:56:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  bool operator()(std::unique_ptr<io::SingleRead>&& read) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/main.cpp:140:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ifs.read((char*)&num_classes, sizeof(num_classes));
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/main.cpp:145:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifs.read((char*)&sz, sizeof(sz));
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/main.cpp:147:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ifs.read((char*)&Classes[i][0], sz * sizeof(Classes[i][0]));
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/main.cpp:268:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                VERIFY_MSG(rp.read() == rp.processed(), "Queue unbalanced");
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:88:64:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    GammaPoissonLikelihoodCalcer operator()(const std::string& read) const {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:89:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ValidHKMerGenerator<hammer::K> generator(read.data(), nullptr,
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:90:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                                               read.length());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:222:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  std::string TrimLeft(const std::string& read) const {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:224:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ValidHKMerGenerator<K> generator(read.data(), nullptr, read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:224:60:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ValidHKMerGenerator<K> generator(read.data(), nullptr, read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:236:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (read[from - 1] == read[from])
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:236:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (read[from - 1] == read[from])
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:238:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        assert(read[from - 1] != read[from]);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:238:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        assert(read[from - 1] != read[from]);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:241:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read.substr(from);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:244:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  std::string TrimBadQuality(const std::string& read) const {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:245:66:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return TrimLeft(ReverseComplement(TrimLeft(ReverseComplement(read))));
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:295:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  inline Interval SolidIsland(const std::string& read) const {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:297:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ValidHKMerGenerator<K> generator(&read[0], nullptr, read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:297:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ValidHKMerGenerator<K> generator(&read[0], nullptr, read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:304:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ValidHKMerGenerator<K> generator(&read[0], nullptr, read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:304:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ValidHKMerGenerator<K> generator(&read[0], nullptr, read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:309:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  inline Interval SolidIsland(const io::SingleRead& read) const {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:311:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ValidHKMerGenerator<K> generator(read);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/penalty_estimator.hpp:318:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      ValidHKMerGenerator<K> generator(read);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:394:64:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                   unsigned rollback_end, const FlowSpaceRead &read,
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:401:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          raw_read(read),
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:950:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  CorrectedRead(const io::SingleRead &read, const KMerData &kmer_data,
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:952:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      : raw_read_(read), kmer_data_(kmer_data), debug_mode_(debug_mode) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:953:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    CollectChunks(read);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:1025:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual bool operator()(const io::SingleRead &read) = 0;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:1045:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual bool operator()(const io::SingleRead &read) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:1046:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      auto read_seq = read.sequence();
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:1105:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    CorrectedRead read(r, kmer_data_, debug_mode);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:1106:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.MergeChunks();
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:1107:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (cfg::get().keep_uncorrected_ends) read.AttachUncorrectedRuns();
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:1110:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      std::cerr << "final result: " << read.GetSequenceString() << std::endl;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector.hpp:1113:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto seq = read.GetSequenceString();
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:86:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           const std::string& read,
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:91:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (offset >= read.size()) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:92:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      return read;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:98:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    CorrectionContext context(data, read, reverse);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:105:89:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    const size_t queue_limit =  (const size_t)(cfg::get().queue_limit_multiplier * log2(read.size() - offset + 1));//(const size_t)(100 * read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:112:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      assert(state.Position() <= read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:122:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (state.Position() < read.size()) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:131:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (state.Position() == read.size()) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:137:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          read.size()) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:159:71:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        queue_overflow |= Flush(candidates, corrections, queue_limit, read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:164:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:181:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  std::string Correct(const io::SingleRead& read,
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_new.hpp:187:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::string current_read = read.GetSequenceString();
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h:126:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  inline void FillHRunSizes(const std::vector<char>& read,
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h:129:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    hrun_sizes.resize(read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h:131:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while (offset < read.size()) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h:133:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while (cursor < read.size() && read[cursor] == read[offset]) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h:133:38:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while (cursor < read.size() && read[cursor] == read[offset]) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h:133:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      while (cursor < read.size() && read[cursor] == read[offset]) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h:145:62:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  CorrectionContext(const KMerData& data, const std::string& read,
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h:149:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read_.resize(read.size());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h:150:28:  [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.size(); ++i) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/read_corrector_structs_new.h:151:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read_[i] = dignucl(read[i]);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:95:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void TreephaserLite::WindowedNormalize(BasecallerRead& read, int num_steps, int window_size) const
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:97:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  int num_flows = read.raw_measurements.size();
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:117:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (read.prediction[estim_flow] < 0.3)
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:118:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        median_set[median_set_size++] = read.raw_measurements[estim_flow] - read.prediction[estim_flow];
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:118:77:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        median_set[median_set_size++] = read.raw_measurements[estim_flow] - read.prediction[estim_flow];
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:130:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read.normalized_measurements[apply_flow] = read.raw_measurements[apply_flow] - normalizer;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:130:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read.normalized_measurements[apply_flow] = read.raw_measurements[apply_flow] - normalizer;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:136:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.normalized_measurements[apply_flow] = read.raw_measurements[apply_flow] - next_normalizer;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:136:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.normalized_measurements[apply_flow] = read.raw_measurements[apply_flow] - next_normalizer;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:156:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (read.prediction[estim_flow] > 0.5 and read.normalized_measurements[estim_flow] > 0)
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:156:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      if (read.prediction[estim_flow] > 0.5 and read.normalized_measurements[estim_flow] > 0)
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:157:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        median_set[median_set_size++] = read.normalized_measurements[estim_flow] / read.prediction[estim_flow];
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:157:84:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        median_set[median_set_size++] = read.normalized_measurements[estim_flow] / read.prediction[estim_flow];
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:169:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read.normalized_measurements[apply_flow] /= normalizer;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:175:5:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    read.normalized_measurements[apply_flow] /= next_normalizer;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:333:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void TreephaserLite::Solve(BasecallerRead& read, int max_flows, int restart_flows)
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:359:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    for (vector<char>::iterator nuc = read.sequence.begin();
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:360:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          nuc != read.sequence.end() and path_[0].flow < restart_flows; ++nuc) {
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:367:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read.prediction.swap(path_[0].prediction);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:372:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      float residual = read.normalized_measurements[flow] - path_[0].prediction[flow];
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:379:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read.sequence.clear();
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:380:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read.sequence.reserve(2*flow_order_.num_flows());
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:381:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  read.prediction.assign(flow_order_.num_flows(), 0);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:493:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        float residual = read.normalized_measurements[flow] - child->prediction[flow];
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:547:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      float dot_signal = (read.normalized_measurements[child->flow]
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:577:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      float residual = read.normalized_measurements[flow] - parent->prediction[flow];
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:583:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read.prediction.swap(parent->prediction);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.cpp:584:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
      read.sequence.swap(parent->sequence);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.h:82:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  void  NormalizeAndSolve(BasecallerRead& read, int max_flows, bool sliding_window=true);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.h:90:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  void  Solve(BasecallerRead& read, int max_flows, int restart_flows=0);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.h:96:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  void  Simulate(BasecallerRead& read, int max_flows);
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/seqeval/TreephaserLite.h:104:43:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  void  WindowedNormalize(BasecallerRead& read, int num_steps, int window_size) const;
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/valid_hkmer_generator.hpp:31:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  explicit ValidHKMerGenerator(const io::SingleRead &read,
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/valid_hkmer_generator.hpp:33:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Reset(read.GetSequenceString().data(), read.GetQualityString().data(),
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/valid_hkmer_generator.hpp:33:44:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Reset(read.GetSequenceString().data(), read.GetQualityString().data(),
data/spades-3.13.1+dfsg/assembler/src/projects/ionhammer/valid_hkmer_generator.hpp:34:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
          read.GetSequenceString().size(), bad_quality_threshold);
data/spades-3.13.1+dfsg/assembler/src/projects/kmercount/main.cpp:100:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                VERIFY_MSG(rp.read() == rp.processed(), "Queue unbalanced");
data/spades-3.13.1+dfsg/assembler/src/projects/kmercount/read_filter.cpp:40:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    typename OS::ReadT read;
data/spades-3.13.1+dfsg/assembler/src/projects/kmercount/read_filter.cpp:42:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        input >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/kmercount/read_filter.cpp:43:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        output << read;
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:193:19:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		header_offset = fgetc(file_pre);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:245:19:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		header_offset = fgetc(file_pre);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:708:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool CKMCFile::GetCountersForRead(const std::string& read, std::vector<uint32>& counters)
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:713:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		return GetCountersForRead_kmc2(read, counters);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:715:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		return GetCountersForRead_kmc1(read, counters);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:726:54:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool CKMCFile::GetCountersForRead(const std::string& read, std::vector<float>& counters)
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:731:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (GetCountersForRead(read, uint32_v))
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:803:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool CKMCFile::GetCountersForRead_kmc1(const std::string& read, std::vector<uint32>& counters)
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:805:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	uint32 read_len = static_cast<uint32>(read.length());
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:806:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	counters.resize(read.length() - kmer_length + 1);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:807:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	std::string transformed_read = read;
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:822:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (CKmerAPI::num_codes[(uchar)read[i]] < 0)
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:834:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				kmer.insert2bits(pos++, CKmerAPI::num_codes[(uchar)read[i++]]);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:847:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (CKmerAPI::num_codes[(uchar)read[i]] < 0)
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:852:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			kmer.SHL_insert2bits(CKmerAPI::num_codes[(uchar)read[i++]]);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:866:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool CKMCFile::GetCountersForRead_kmc2(const std::string& read, std::vector<uint32>& counters)
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:868:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
counters.resize(read.length() - kmer_length + 1);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:869:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	std::string transformed_read = read;
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.cpp:880:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	while (i + kmer_length - 1 < read.length())
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.h:71:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool GetCountersForRead_kmc1(const std::string& read, std::vector<uint32>& counters);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.h:74:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool GetCountersForRead_kmc2(const std::string& read, std::vector<uint32>& counters);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.h:132:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool GetCountersForRead(const std::string& read, std::vector<uint32>& counters);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmc_api/kmc_file.h:133:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool GetCountersForRead(const std::string& read, std::vector<float>& counters);
data/spades-3.13.1+dfsg/assembler/src/projects/mts/kmer_multiplicity_counter.cpp:67:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        infile.read((char*) &tmp, sizeof(seq_element_type));
data/spades-3.13.1+dfsg/assembler/src/projects/mts/stats.cpp:31:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/mts/stats.cpp:32:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/mts/stats.cpp:33:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return read;
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_contig_command.hpp:64:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_contig_command.hpp:65:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            reader >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_contig_command.hpp:69:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if((starts_with && read.name().find(contig_name) != string::npos) || contig_name == read.name()) {
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_contig_command.hpp:69:97:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            if((starts_with && read.name().find(contig_name) != string::npos) || contig_name == read.name()) {
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_contig_command.hpp:70:51:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                DrawPicturesAlongContig(curr_env, read);
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_contig_command.hpp:118:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_contig_command.hpp:119:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            reader >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_contig_command.hpp:122:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            DrawPicturesAlongContig(curr_env, read);
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_missasemblies.hpp:193:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_missasemblies.hpp:194:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            reader >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_missasemblies.hpp:195:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            auto mapping_path = curr_env.mapper().MapRead(read);
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_missasemblies.hpp:196:96:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            ProcessContig(curr_env, genome_mapping_path, rc_genome_mapping_path, mapping_path, read.name());
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/drawing_commands/draw_missasemblies.hpp:197:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            cout << "Read " << read.name() << " is processed." << endl;
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_contigs_stats.hpp:202:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_contigs_stats.hpp:203:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    irs >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_contigs_stats.hpp:204:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                    if (read.IsValid()) {
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_contigs_stats.hpp:205:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                        const Sequence& contig = read.sequence();
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_contigs_stats.hpp:207:100:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                        result = result | ProcessContig(curr_env, contig, genome_path, "CONTIG_" + read.name());
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_contigs_stats.hpp:208:101:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                        result = result | ProcessContig(curr_env, !contig, genome_path, "CONTIG_" + read.name() + "_RC");
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_contigs_stats.hpp:210:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            INFO(" contig " + read.name() + " is OKAY");
data/spades-3.13.1+dfsg/assembler/src/projects/online_vis/statistics_commands/print_contigs_stats.hpp:213:47:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                            INFO(" contig " + read.name() + " is MISASSEMBLED");
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:31:56:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    std::vector<GapDescription> InferGaps(const ReadT& read,
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:53:59:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                auto gap = CreateGapInfoTryFixOverlap(g_, read, seq_start, seq_end,
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:66:61:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void InnerProcessRead(size_t thread_index, const ReadT& read, const MappingPath<EdgeId>& mapping) {
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:69:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            for (const auto& gap: InferGaps(read, mapping)) {
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:110:50:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           const io::SingleRead& read,
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:112:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        InnerProcessRead(thread_index, read, mapping);
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:116:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                           const io::SingleReadSeq& read,
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:118:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        InnerProcessRead(thread_index, read, mapping);
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:263:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:265:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read_stream >> read;
data/spades-3.13.1+dfsg/assembler/src/projects/spades/hybrid_aligning.cpp:266:49:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                read_buffer.push_back(std::move(read));
data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp:123:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp:124:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    (*raw_reader) >> read;
data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp:125:42:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BOOST_CHECK_EQUAL("ACGTCacgtcTTGCA", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp:128:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp:129:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BOOST_CHECK_EQUAL("ACGTCTTGCA", read.sequence().str());
data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp:137:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp:138:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    (*raw_reader) >> read;
data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp:139:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BOOST_CHECK_EQUAL("acgtcACGTCNNNNNTTGCADMYNY", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp:142:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/cap/test.cpp:143:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BOOST_CHECK_EQUAL("ACGTCTTGCA", read.sequence().str());
data/spades-3.13.1+dfsg/assembler/src/test/cap/test_utils.hpp:335:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
const io::SingleRead MakeRead(const string& read) {
data/spades-3.13.1+dfsg/assembler/src/test/cap/test_utils.hpp:338:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    qual.resize(read.size());
data/spades-3.13.1+dfsg/assembler/src/test/cap/test_utils.hpp:339:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return io::SingleRead("", read, qual);
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/reference_fixer.cpp:33:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/reference_fixer.cpp:36:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        (*reader) >> read;
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/reference_fixer.cpp:37:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ss << read.GetSequenceString();
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/test_utils.hpp:105:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
const io::SingleRead MakeRead(const MyRead& read) {
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/test_utils.hpp:108:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    qual.resize(read.size());
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/test_utils.hpp:109:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return io::SingleRead("", read, qual);
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/test_utils.hpp:244:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    io::SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/test_utils.hpp:246:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        (*stream) >> read;
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/test_utils.hpp:247:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        RtSeq kmer = read.sequence().start<RtSeq>(k + 1) >> 'A';
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/test_utils.hpp:248:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        for(size_t i = k; i < read.size(); i++) {
data/spades-3.13.1+dfsg/assembler/src/test/debruijn/test_utils.hpp:249:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            kmer = kmer << read[i];
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:37:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:38:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:39:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_768/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:40:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("ATGCATGCATGC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:41:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("HGHIHHHGHECH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:42:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:43:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("!EAS20_8_6_1_2_1700/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:44:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GTTTTTTTTTTT", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:45:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GGEGGGGCGGGG", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:46:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:47:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_1700/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:48:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("AAAAAAAAAAAC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:49:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GGGGCGGGGEGG", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:50:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:51:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("!EAS20_8_6_1_2_468/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:52:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("CACACACACACA", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/converting_reader_wrapper_test.hpp:53:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("HH@>?<8ADDAD", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:29:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:30:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:31:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_768/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:32:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("ATGCATGCATGC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:33:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("HGHIHHHGHECH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:34:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:35:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_1700/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:36:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("AAAAAAAAAAAC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:37:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GGGGCGGGGEGG", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:38:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:39:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_468/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:40:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("TGTGTGTGTGTG", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:41:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("DADDA8<?>@HH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:45:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader2 >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:46:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_768/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:47:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("ATGCATGCATGC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/cutting_reader_wrapper_test.hpp:48:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("HGHIHHHGHECH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:24:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:25:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:26:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_768/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:27:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("ATGCATGCATGC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:28:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("HGHIHHHGHECH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:29:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:30:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_1700/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:31:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("AAAAAAAAAAAC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:32:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GGGGCGGGGEGG", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:33:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:34:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_468/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:35:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("TGTGTGTGTGTG", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:36:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("DADDA8<?>@HH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:45:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:47:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:49:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_468/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:50:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("TGTGTGTGTGTG", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:51:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("DADDA8<?>@HH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:59:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:60:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:61:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GSV1ISZ08GSHS3", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:63:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:65:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:66:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:67:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:68:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:69:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GSV1ISZ08GXRMP", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:71:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:73:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:75:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  seq = read.sequence();
data/spades-3.13.1+dfsg/assembler/src/test/include_test/fasta_fastq_gz_parser_test.hpp:76:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  Quality qual(read.quality());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:37:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:38:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:39:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_1700/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:40:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("AAAAAAAAAAAC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:41:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GGGGCGGGGEGG", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:42:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:43:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_468/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:44:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("TGTGTGTGTGTG", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:45:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("DADDA8<?>@HH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:57:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:58:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:59:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_768/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:60:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("ATGCATGCATGC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:61:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("HGHIHHHGHECH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:62:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:63:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_1700/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:64:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("AAAAAAAAAAAC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:65:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GGGGCGGGGEGG", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:66:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:67:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_468/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:68:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("TGTGTGTGTGTG", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:69:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("DADDA8<?>@HH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:70:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:71:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_1700/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:72:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("AAAAAAAAAAAC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:73:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GGGGCGGGGEGG", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:74:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:75:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_468/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:76:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("TGTGTGTGTGTG", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/multifile_reader_test.hpp:77:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("DADDA8<?>@HH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp:29:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp:30:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp:31:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_768/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp:32:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("ATGCATGCATGC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp:33:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("HGHIHHHGHECH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp:34:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp:35:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("!EAS20_8_6_1_2_768/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp:36:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GCATGCATGCAT", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp:37:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("HCEHGHHHIHGH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/rc_reader_wrapper_test.hpp:40:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:33:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  PairedRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:34:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:35:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_768/1", read[0].name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:36:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("ATGCATGCATGC", read[0].GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:37:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("HGHIHHHGHECH", read[0].GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:38:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("!EAS20_8_6_1_2_1700/1", read[1].name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:39:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL(100, read.distance());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:40:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:41:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_1700/1", read[0].name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:42:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("AAAAAAAAAAAC", read[0].GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:43:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GGGGCGGGGEGG", read[0].GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:44:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("!EAS20_8_6_1_2_468/1", read[1].name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_pairedread_test.hpp:45:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL(100, read.distance());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:24:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:25:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:26:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_768/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:27:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("ATGCATGCATGC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:28:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("HGHIHHHGHECH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:29:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:30:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_1700/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:31:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("AAAAAAAAAAAC", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:32:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GGGGCGGGGEGG", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:33:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:34:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_468/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:35:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("TGTGTGTGTGTG", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:36:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("DADDA8<?>@HH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:45:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:47:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:49:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS20_8_6_1_2_468/1", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:50:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("TGTGTGTGTGTG", read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/reader_singleread_test.hpp:51:32:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("DADDA8<?>@HH", read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:19:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:20:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:21:39:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("B7_591:4:96:693:509", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:23:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:25:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:26:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:35:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:37:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:39:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("EAS114_26:7:37:79:581", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:41:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sam_bam_parser_test.hpp:43:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:19:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:20:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:21:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GSV1ISZ08GSHS3", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:23:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:25:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:26:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:35:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  SingleRead read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:37:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    parser >> read;
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:39:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  ASSERT_EQUAL("GSV1ISZ08GXRMP", read.name());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:41:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/test/include_test/sff_parser_test.hpp:43:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
               read.GetPhredQualityString());
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:19:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dr.read(a);
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:31:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dr.read(a);
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:32:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dr.read(b);
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:107:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dr.read(result);
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:121:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        dr.read(result);
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:137:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dr.read(result);
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:139:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dr.read(result);
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:172:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dr.read(m);
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:188:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dr.read(v);
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:209:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dr.read(m);
data/spades-3.13.1+dfsg/assembler/src/test/paireddebruijn/graphioTest.hpp:233:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    dr.read(m1);
data/spades-3.13.1+dfsg/assembler/src/tools/correctionEvaluatorIon/evaluate_kmers/kmer_evaluator.cpp:39:41:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  bool operator()(const io::SingleRead& read) {
data/spades-3.13.1+dfsg/assembler/src/tools/correctionEvaluatorIon/evaluate_kmers/kmer_evaluator.cpp:40:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    processString(read.GetSequenceString());
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:261:7:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
      strncpy(un[n].name, found, 9);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:266:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(name, found, len);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:344:38:  [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).
      while (c[ci] != '\0' && (ci += strlen(&c[ci])) < MAXLINE - 2)
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:348: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).
      ci = strlen(c);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:358:10:  [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 l = strlen(IFNEW(proc[i].pi_comm,user.ui_comm));
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:374:8:  [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).
	      strlen(P[i].cmd),P[i].cmd);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:420:43:  [1] (buffer) fgetc:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while (k < MAXLINE - 1 && EOF != (c = fgetc(tn))) {
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:485:11:  [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).
    len = strlen(line);
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:495:29:  [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).
      while (MAXLINE - 1 == strlen(fgets(tmp, MAXLINE, tn)));
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:889:14:  [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).
  Columns += strlen(C->sg) + strlen(C->eg); /* Don't count hidden chars */
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:889:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  Columns += strlen(C->sg) + strlen(C->eg); /* Don't count hidden chars */
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:921: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).
  if (n2 = strlen(s2))
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:922: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).
    for (n1 = strlen(s1); n1 >= n2; s1++, n1--)
data/spades-3.13.1+dfsg/assembler/src/tools/res_counter/pstree.c:940:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(name, bigbuf, retval);
data/spades-3.13.1+dfsg/assembler/src/tools/seq_filter.hpp:55:53:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
  static void add_seqs_from_read_to_map(const Read& read, hm& map) {
data/spades-3.13.1+dfsg/assembler/src/tools/seq_filter.hpp:56:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Sequence s = read.getSequence();
data/spades-3.13.1+dfsg/assembler/src/tools/seq_filter_stat.hpp:148:55:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    static void add_seqs_from_read_to_map(const Read& read, hm& map) {
data/spades-3.13.1+dfsg/assembler/src/tools/seq_filter_stat.hpp:149:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        Sequence s = read.getSequence();

ANALYSIS SUMMARY:

Hits = 2016
Lines analyzed = 261419 in approximately 7.43 seconds (35168 lines/second)
Physical Source Lines of Code (SLOC) = 183297
Hits@level = [0] 1272 [1] 921 [2] 875 [3]  96 [4] 123 [5]   1
Hits@level+ = [0+] 3288 [1+] 2016 [2+] 1095 [3+] 220 [4+] 124 [5+]   1
Hits/KSLOC@level+ = [0+] 17.9381 [1+] 10.9985 [2+] 5.97391 [3+] 1.20024 [4+] 0.676498 [5+] 0.00545563
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.