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/ngs-sdk-2.10.5/ngs-bam/bam.cpp
Examining data/ngs-sdk-2.10.5/ngs-bam/bam.hpp
Examining data/ngs-sdk-2.10.5/ngs-bam/examples/AlignTest.cpp
Examining data/ngs-sdk-2.10.5/ngs-bam/ngs-bam.cpp
Examining data/ngs-sdk-2.10.5/ngs-bam/ngs-bam/ngs-bam.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/AlignmentItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/ErrBlock.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/ErrBlock.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/ErrorMsg.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/FragmentItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/PileupEventItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/PileupItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/ReadCollectionItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/ReadGroupItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/ReadItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/Refcount.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/ReferenceItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/ReferenceSequenceItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/StatisticsItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/StringItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/adapter/unix/fat86/atomic32.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/AlignmentItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/ErrBlock.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/ErrorMsg.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/FragmentItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/PackageItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/PileupEventItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/PileupItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/ReadCollectionItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/ReadGroupItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/ReadItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/Refcount.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/ReferenceItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/ReferenceSequenceItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/StatisticsItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/StringItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/VTable.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/dispatch/version.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/examples/AlignSliceTest.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/examples/AlignTest.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/examples/DumpReferenceFASTA.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/examples/FastqTableDump.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/examples/FragTest.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/examples/PileupTest.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/examples/RefTest.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/Alignment.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/AlignmentIterator.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/Fragment.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/FragmentIterator.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/Pileup.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/PileupEvent.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/PileupEventIterator.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/PileupIterator.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/Read.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/ReadCollection.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/ReadGroup.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/ReadGroupIterator.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/ReadIterator.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/Refcount.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/Reference.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/ReferenceIterator.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/ReferenceSequence.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/Statistics.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/c++/StringRef.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_AlignmentIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_AlignmentIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_AlignmentItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_AlignmentItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ErrorMsg.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_FragmentItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_FragmentItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_Package.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_Package.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_PileupEventIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_PileupEventIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_PileupEventItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_PileupEventItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_PileupIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_PileupIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_PileupItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_PileupItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReadCollectionItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReadCollectionItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReadGroupIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReadGroupIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReadGroupItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReadGroupItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReadIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReadIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReadItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReadItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_Refcount.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_Refcount.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReferenceIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReferenceIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReferenceItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReferenceItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReferenceSequenceItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ReferenceSequenceItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_StatisticsItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_StatisticsItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_String.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_md.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ErrorMsg.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_String.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_AlignmentIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_AlignmentIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_AlignmentItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_AlignmentItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ErrorMsg.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_FragmentIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_FragmentIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_FragmentItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_FragmentItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_PackageItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_PackageItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_PileupEventIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_PileupEventIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_PileupEventItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_PileupEventItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_PileupIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_PileupIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_PileupItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_PileupItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReadCollectionItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReadCollectionItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReadGroupIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReadGroupIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReadGroupItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReadGroupItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReadIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReadIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReadItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReadItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_Refcount.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_Refcount.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReferenceIteratorItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReferenceIteratorItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReferenceItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReferenceItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReferenceSequenceItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ReferenceSequenceItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_StatisticsItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_StatisticsItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_StringItf.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_StringItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ngs_defs.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/Alignment.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/AlignmentIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/ErrorMsg.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/Fragment.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/FragmentIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/Package.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/Pileup.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/PileupEvent.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/PileupEventIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/PileupIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/Read.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/ReadCollection.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/ReadGroup.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/ReadGroupIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/ReadIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/Reference.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/ReferenceIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/ReferenceSequence.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/Statistics.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/StringRef.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/AlignmentItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/ErrorMsg.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/FragmentItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/PileupEventItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/PileupItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/ReadCollectionItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/ReadGroupItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/ReadItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/Refcount.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/ReferenceItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/ReferenceSequenceItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/StatisticsItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/StringItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/adapter/defs.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/Alignment.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/AlignmentIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/Fragment.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/FragmentIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/Package.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/Pileup.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/PileupEvent.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/PileupEventIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/PileupIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/Read.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/ReadCollection.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/ReadGroup.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/ReadGroupIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/ReadIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/Reference.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/ReferenceIterator.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/ReferenceSequence.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/Statistics.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/inl/StringRef.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/AlignmentItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/AlignmentItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ErrBlock.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ErrBlock.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ErrorMsg.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/FragmentItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/FragmentItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/PackageItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/PileupEventItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/PileupEventItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/PileupItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/PileupItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ReadCollectionItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ReadCollectionItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ReadGroupItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ReadGroupItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ReadItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ReadItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/Refcount.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/Refcount.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ReferenceItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ReferenceItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ReferenceSequenceItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ReferenceSequenceItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/StatisticsItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/StatisticsItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/StringItf.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/StringItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/VTable.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/VTable.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/defs.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/unix/fat86/atomic32.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/unix/i386/atomic32.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/unix/x86_64/atomic32.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/win/atomic32.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/ngs/win/stdbool.h
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/AlignmentItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/PileupEventItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/PileupItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/ReadCollectionItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/ReadGroupItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/ReadItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/ReferenceItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/ReferenceSequenceItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/StatisticsItf.hpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/test_engine.cpp
Examining data/ngs-sdk-2.10.5/ngs-sdk/test/test_engine/test_engine.hpp
Examining data/ngs-sdk-2.10.5/debian/atomic32.h

FINAL RESULTS:

data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ErrorMsg.cpp:46:16:  [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.
    int size = vsnprintf ( msg, sizeof msg, fmt, args );
data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ErrorMsg.cpp:117:16:  [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.
    int size = vsnprintf ( & msg [ psize ], sizeof msg - psize, fmt, args );
data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_String.cpp:74:16:  [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.
    int size = vsnprintf ( buffer, sizeof buffer, fmt, args );
data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_md.h:21:14:  [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.
		inline int vsnprintf(char* str, size_t size, const char* format, va_list ap)
data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_md.h:32:14:  [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.
		inline int snprintf(char* str, size_t size, const char* format, ...)
data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_md.h:38:12:  [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.
			count = vsnprintf(str, size, format, ap);
data/ngs-sdk-2.10.5/ngs-bam/bam.cpp:213: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 buf[16];
data/ngs-sdk-2.10.5/ngs-bam/bam.cpp:516: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 actual[4];
data/ngs-sdk-2.10.5/ngs-bam/bam.cpp:596: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).
        ifile.open(idxpath.c_str(), std::ifstream::in | std::ifstream::binary);
data/ngs-sdk-2.10.5/ngs-bam/bam.cpp:620: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).
    file = fopen(filepath.c_str(), "rb");
data/ngs-sdk-2.10.5/ngs-bam/bam.cpp:624: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(filepath.c_str(), std::ifstream::in | std::ifstream::binary);
data/ngs-sdk-2.10.5/ngs-bam/bam.hpp:260: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 buf[12];
data/ngs-sdk-2.10.5/ngs-bam/bam.hpp:288: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 tag[2];
data/ngs-sdk-2.10.5/ngs-bam/bam.hpp:291: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 scalar[1];
data/ngs-sdk-2.10.5/ngs-bam/bam.hpp:294: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.
                char count[4];
data/ngs-sdk-2.10.5/ngs-bam/bam.hpp: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.
                char value[1];
data/ngs-sdk-2.10.5/ngs-bam/examples/AlignTest.cpp:102:34:  [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).
        AlignTest::run (argv[1], atoi ( argv[2] ), atoi ( argv[3] ) );
data/ngs-sdk-2.10.5/ngs-bam/examples/AlignTest.cpp:102:52:  [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).
        AlignTest::run (argv[1], atoi ( argv[2] ), atoi ( argv[3] ) );
data/ngs-sdk-2.10.5/ngs-sdk/examples/AlignSliceTest.cpp:113:49:  [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).
        AlignSliceTest::run ( argv[1], argv[2], atoi ( argv[3] ), atoi ( argv[4] ) );
data/ngs-sdk-2.10.5/ngs-sdk/examples/AlignSliceTest.cpp:113:67:  [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).
        AlignSliceTest::run ( argv[1], argv[2], atoi ( argv[3] ), atoi ( argv[4] ) );
data/ngs-sdk-2.10.5/ngs-sdk/examples/AlignTest.cpp:124:34:  [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).
        AlignTest::run (argv[1], atoi ( argv[2] ), atoi ( argv[3] ) );
data/ngs-sdk-2.10.5/ngs-sdk/examples/AlignTest.cpp:124:52:  [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).
        AlignTest::run (argv[1], atoi ( argv[2] ), atoi ( argv[3] ) );
data/ngs-sdk-2.10.5/ngs-sdk/examples/FragTest.cpp:108:34:  [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).
        FragTest::run ( argv[1], atoi ( argv[2] ), atoi ( argv[3] ) );
data/ngs-sdk-2.10.5/ngs-sdk/examples/FragTest.cpp:108:52:  [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).
        FragTest::run ( argv[1], atoi ( argv[2] ), atoi ( argv[3] ) );
data/ngs-sdk-2.10.5/ngs-sdk/examples/PileupTest.cpp:84:21:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (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[64];
data/ngs-sdk-2.10.5/ngs-sdk/examples/PileupTest.cpp:87:41:  [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.
                        char *b = buf + sprintf(buf,"%d",c);
data/ngs-sdk-2.10.5/ngs-sdk/examples/PileupTest.cpp:96: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.
                        sprintf(buf,"%d%.*s",c,c,ibases.data());
data/ngs-sdk-2.10.5/ngs-sdk/examples/PileupTest.cpp:154:45:  [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).
        PileupTest::run ( argv[1], argv[2], atoi ( argv[3] ), atoi ( argv[4] ) );
data/ngs-sdk-2.10.5/ngs-sdk/examples/PileupTest.cpp:154:63:  [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).
        PileupTest::run ( argv[1], argv[2], atoi ( argv[3] ), atoi ( argv[4] ) );
data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ErrorMsg.cpp:45: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 msg [ 4096 ];
data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ErrorMsg.cpp:50:9:  [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 ( & msg [ sizeof msg - 4 ], "..." );
data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ErrorMsg.cpp:115: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 msg [ 4096 ];
data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_ErrorMsg.cpp:119:9:  [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 ( & msg [ sizeof msg - 4 ], "..." );
data/ngs-sdk-2.10.5/ngs-sdk/language/java/jni_String.cpp:73: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 [ 4096 ];
data/ngs-sdk-2.10.5/ngs-sdk/ngs/itf/ErrBlock.h:45: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 msg [ 4096 ];
data/ngs-sdk-2.10.5/ngs-bam/bam.cpp:325:48:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    size_t const nread = file.eof() ? 0 : file.read(dst, nwant).gcount();
data/ngs-sdk-2.10.5/ngs-bam/bam.hpp:370: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 (int)strlen(value.scalar);
data/ngs-sdk-2.10.5/ngs-sdk/adapter/ErrBlock.cpp:46:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy ( self -> msg, what, sizeof self -> msg );
data/ngs-sdk-2.10.5/ngs-sdk/adapter/ErrBlock.cpp:58:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy ( self -> msg, what, sizeof self -> msg );
data/ngs-sdk-2.10.5/ngs-sdk/adapter/ErrBlock.cpp:73:9:  [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 ( self -> msg, "unknown error", sizeof self -> msg );
data/ngs-sdk-2.10.5/ngs-sdk/examples/PileupTest.cpp:109:39:  [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.
                    case PileupEvent::mismatch:
data/ngs-sdk-2.10.5/ngs-sdk/examples/PileupTest.cpp:124:39:  [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.
                    case PileupEvent::mismatch:
data/ngs-sdk-2.10.5/ngs-sdk/language/python/py_ErrorMsg.hpp:47: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).
        size_t len = strlen ( error_descr );
data/ngs-sdk-2.10.5/ngs-sdk/ngs/PileupEvent.hpp:121:53:  [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.
            insertion_before_mismatch = insertion | mismatch,
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:271:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String id = read.getFragmentId().toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:276:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String bases = read.getFragmentBases().toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:281:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String bases = read.getFragmentBases( 1 ).toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:286:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String bases = read.getFragmentBases( 1, 2 ).toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:291:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String quals = read.getFragmentQualities().toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:296:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String quals = read.getFragmentQualities( 1 ).toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:301:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String quals = read.getFragmentQualities( 1, 2 ).toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:307:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Assert ( read.nextFragment() );
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:308:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Assert ( read.nextFragment() );
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:309:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    Assert ( ! read.nextFragment() );
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:313:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String id = read.getReadId().toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:318:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    uint32_t count = read.getNumFragments();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:323:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::Read::ReadCategory cat = read.getReadCategory();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:328:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String name = read.getReadGroup();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:333:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String name = read.getReadName().toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:338:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String bases = read.getReadBases().toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:343:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String bases = read.getReadBases( 1 ).toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:348:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String bases = read.getReadBases( 1, 2 ).toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:353:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String quals = read.getReadQualities().toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:358:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String quals = read.getReadQualities( 1 ).toString();
data/ngs-sdk-2.10.5/ngs-sdk/test/ngs-test/main.cpp:363:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    ngs::String quals = read.getReadQualities( 1, 2 ).toString();

ANALYSIS SUMMARY:

Hits = 65
Lines analyzed = 34985 in approximately 0.88 seconds (39928 lines/second)
Physical Source Lines of Code (SLOC) = 21008
Hits@level = [0]   2 [1]  30 [2]  29 [3]   0 [4]   6 [5]   0
Hits@level+ = [0+]  67 [1+]  65 [2+]  35 [3+]   6 [4+]   6 [5+]   0
Hits/KSLOC@level+ = [0+] 3.18926 [1+] 3.09406 [2+] 1.66603 [3+] 0.285605 [4+] 0.285605 [5+]   0
Dot directories skipped = 1 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.