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/pentobi-18.3/learn_tool/Main.cpp
Examining data/pentobi-18.3/libboardgame_base/ArrayList.h
Examining data/pentobi-18.3/libboardgame_base/Assert.cpp
Examining data/pentobi-18.3/libboardgame_base/Assert.h
Examining data/pentobi-18.3/libboardgame_base/Barrier.cpp
Examining data/pentobi-18.3/libboardgame_base/Barrier.h
Examining data/pentobi-18.3/libboardgame_base/Compiler.h
Examining data/pentobi-18.3/libboardgame_base/CoordPoint.cpp
Examining data/pentobi-18.3/libboardgame_base/CoordPoint.h
Examining data/pentobi-18.3/libboardgame_base/CpuTime.cpp
Examining data/pentobi-18.3/libboardgame_base/CpuTime.h
Examining data/pentobi-18.3/libboardgame_base/CpuTimeSource.cpp
Examining data/pentobi-18.3/libboardgame_base/CpuTimeSource.h
Examining data/pentobi-18.3/libboardgame_base/FmtSaver.h
Examining data/pentobi-18.3/libboardgame_base/Geometry.h
Examining data/pentobi-18.3/libboardgame_base/GeometryUtil.h
Examining data/pentobi-18.3/libboardgame_base/Grid.h
Examining data/pentobi-18.3/libboardgame_base/IntervalChecker.cpp
Examining data/pentobi-18.3/libboardgame_base/IntervalChecker.h
Examining data/pentobi-18.3/libboardgame_base/Log.cpp
Examining data/pentobi-18.3/libboardgame_base/Log.h
Examining data/pentobi-18.3/libboardgame_base/Marker.h
Examining data/pentobi-18.3/libboardgame_base/MathUtil.h
Examining data/pentobi-18.3/libboardgame_base/Memory.cpp
Examining data/pentobi-18.3/libboardgame_base/Memory.h
Examining data/pentobi-18.3/libboardgame_base/Options.cpp
Examining data/pentobi-18.3/libboardgame_base/Options.h
Examining data/pentobi-18.3/libboardgame_base/Point.h
Examining data/pentobi-18.3/libboardgame_base/PointTransform.h
Examining data/pentobi-18.3/libboardgame_base/RandomGenerator.cpp
Examining data/pentobi-18.3/libboardgame_base/RandomGenerator.h
Examining data/pentobi-18.3/libboardgame_base/Range.h
Examining data/pentobi-18.3/libboardgame_base/Rating.cpp
Examining data/pentobi-18.3/libboardgame_base/Rating.h
Examining data/pentobi-18.3/libboardgame_base/Reader.cpp
Examining data/pentobi-18.3/libboardgame_base/Reader.h
Examining data/pentobi-18.3/libboardgame_base/RectGeometry.h
Examining data/pentobi-18.3/libboardgame_base/RectTransform.cpp
Examining data/pentobi-18.3/libboardgame_base/RectTransform.h
Examining data/pentobi-18.3/libboardgame_base/SgfError.cpp
Examining data/pentobi-18.3/libboardgame_base/SgfError.h
Examining data/pentobi-18.3/libboardgame_base/SgfNode.cpp
Examining data/pentobi-18.3/libboardgame_base/SgfNode.h
Examining data/pentobi-18.3/libboardgame_base/SgfTree.cpp
Examining data/pentobi-18.3/libboardgame_base/SgfTree.h
Examining data/pentobi-18.3/libboardgame_base/SgfUtil.cpp
Examining data/pentobi-18.3/libboardgame_base/SgfUtil.h
Examining data/pentobi-18.3/libboardgame_base/Statistics.h
Examining data/pentobi-18.3/libboardgame_base/StringRep.cpp
Examining data/pentobi-18.3/libboardgame_base/StringRep.h
Examining data/pentobi-18.3/libboardgame_base/StringUtil.cpp
Examining data/pentobi-18.3/libboardgame_base/StringUtil.h
Examining data/pentobi-18.3/libboardgame_base/TimeIntervalChecker.cpp
Examining data/pentobi-18.3/libboardgame_base/TimeIntervalChecker.h
Examining data/pentobi-18.3/libboardgame_base/TimeSource.cpp
Examining data/pentobi-18.3/libboardgame_base/TimeSource.h
Examining data/pentobi-18.3/libboardgame_base/Timer.cpp
Examining data/pentobi-18.3/libboardgame_base/Timer.h
Examining data/pentobi-18.3/libboardgame_base/Transform.cpp
Examining data/pentobi-18.3/libboardgame_base/Transform.h
Examining data/pentobi-18.3/libboardgame_base/TreeReader.cpp
Examining data/pentobi-18.3/libboardgame_base/TreeReader.h
Examining data/pentobi-18.3/libboardgame_base/TreeWriter.cpp
Examining data/pentobi-18.3/libboardgame_base/TreeWriter.h
Examining data/pentobi-18.3/libboardgame_base/WallTimeSource.cpp
Examining data/pentobi-18.3/libboardgame_base/WallTimeSource.h
Examining data/pentobi-18.3/libboardgame_base/Writer.cpp
Examining data/pentobi-18.3/libboardgame_base/Writer.h
Examining data/pentobi-18.3/libboardgame_base/tests/ArrayListTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/MarkerTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/OptionsTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/PointTransformTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/RatingTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/RectGeometryTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/SgfNodeTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/SgfTreeTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/SgfUtilTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/StatisticsTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/StringUtilTest.cpp
Examining data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp
Examining data/pentobi-18.3/libboardgame_gtp/Arguments.cpp
Examining data/pentobi-18.3/libboardgame_gtp/Arguments.h
Examining data/pentobi-18.3/libboardgame_gtp/CmdLine.cpp
Examining data/pentobi-18.3/libboardgame_gtp/CmdLine.h
Examining data/pentobi-18.3/libboardgame_gtp/Failure.h
Examining data/pentobi-18.3/libboardgame_gtp/GtpEngine.cpp
Examining data/pentobi-18.3/libboardgame_gtp/GtpEngine.h
Examining data/pentobi-18.3/libboardgame_gtp/Response.cpp
Examining data/pentobi-18.3/libboardgame_gtp/Response.h
Examining data/pentobi-18.3/libboardgame_gtp/tests/ArgumentsTest.cpp
Examining data/pentobi-18.3/libboardgame_gtp/tests/CmdLineTest.cpp
Examining data/pentobi-18.3/libboardgame_gtp/tests/GtpEngineTest.cpp
Examining data/pentobi-18.3/libboardgame_gtp/tests/ResponseTest.cpp
Examining data/pentobi-18.3/libboardgame_mcts/Atomic.h
Examining data/pentobi-18.3/libboardgame_mcts/LastGoodReply.h
Examining data/pentobi-18.3/libboardgame_mcts/Node.h
Examining data/pentobi-18.3/libboardgame_mcts/PlayerMove.h
Examining data/pentobi-18.3/libboardgame_mcts/SearchBase.h
Examining data/pentobi-18.3/libboardgame_mcts/Tree.h
Examining data/pentobi-18.3/libboardgame_mcts/TreeUtil.h
Examining data/pentobi-18.3/libboardgame_mcts/tests/NodeTest.cpp
Examining data/pentobi-18.3/libboardgame_test/Main.cpp
Examining data/pentobi-18.3/libboardgame_test/Test.cpp
Examining data/pentobi-18.3/libboardgame_test/Test.h
Examining data/pentobi-18.3/libpentobi_base/Board.cpp
Examining data/pentobi-18.3/libpentobi_base/Board.h
Examining data/pentobi-18.3/libpentobi_base/BoardConst.cpp
Examining data/pentobi-18.3/libpentobi_base/BoardConst.h
Examining data/pentobi-18.3/libpentobi_base/BoardUpdater.cpp
Examining data/pentobi-18.3/libpentobi_base/BoardUpdater.h
Examining data/pentobi-18.3/libpentobi_base/BoardUtil.cpp
Examining data/pentobi-18.3/libpentobi_base/BoardUtil.h
Examining data/pentobi-18.3/libpentobi_base/Book.cpp
Examining data/pentobi-18.3/libpentobi_base/Book.h
Examining data/pentobi-18.3/libpentobi_base/CallistoGeometry.cpp
Examining data/pentobi-18.3/libpentobi_base/CallistoGeometry.h
Examining data/pentobi-18.3/libpentobi_base/Color.h
Examining data/pentobi-18.3/libpentobi_base/ColorMap.h
Examining data/pentobi-18.3/libpentobi_base/ColorMove.h
Examining data/pentobi-18.3/libpentobi_base/Game.cpp
Examining data/pentobi-18.3/libpentobi_base/Game.h
Examining data/pentobi-18.3/libpentobi_base/GembloQGeometry.cpp
Examining data/pentobi-18.3/libpentobi_base/GembloQGeometry.h
Examining data/pentobi-18.3/libpentobi_base/GembloQTransform.cpp
Examining data/pentobi-18.3/libpentobi_base/GembloQTransform.h
Examining data/pentobi-18.3/libpentobi_base/Geometry.h
Examining data/pentobi-18.3/libpentobi_base/Grid.h
Examining data/pentobi-18.3/libpentobi_base/Marker.h
Examining data/pentobi-18.3/libpentobi_base/Move.h
Examining data/pentobi-18.3/libpentobi_base/MoveInfo.h
Examining data/pentobi-18.3/libpentobi_base/MoveList.h
Examining data/pentobi-18.3/libpentobi_base/MoveMarker.h
Examining data/pentobi-18.3/libpentobi_base/MovePoints.h
Examining data/pentobi-18.3/libpentobi_base/NexosGeometry.cpp
Examining data/pentobi-18.3/libpentobi_base/NexosGeometry.h
Examining data/pentobi-18.3/libpentobi_base/NodeUtil.cpp
Examining data/pentobi-18.3/libpentobi_base/NodeUtil.h
Examining data/pentobi-18.3/libpentobi_base/PentobiSgfUtil.cpp
Examining data/pentobi-18.3/libpentobi_base/PentobiSgfUtil.h
Examining data/pentobi-18.3/libpentobi_base/PentobiTree.cpp
Examining data/pentobi-18.3/libpentobi_base/PentobiTree.h
Examining data/pentobi-18.3/libpentobi_base/PentobiTreeWriter.cpp
Examining data/pentobi-18.3/libpentobi_base/PentobiTreeWriter.h
Examining data/pentobi-18.3/libpentobi_base/Piece.h
Examining data/pentobi-18.3/libpentobi_base/PieceInfo.cpp
Examining data/pentobi-18.3/libpentobi_base/PieceInfo.h
Examining data/pentobi-18.3/libpentobi_base/PieceMap.h
Examining data/pentobi-18.3/libpentobi_base/PieceTransforms.cpp
Examining data/pentobi-18.3/libpentobi_base/PieceTransforms.h
Examining data/pentobi-18.3/libpentobi_base/PieceTransformsClassic.cpp
Examining data/pentobi-18.3/libpentobi_base/PieceTransformsClassic.h
Examining data/pentobi-18.3/libpentobi_base/PieceTransformsGembloQ.cpp
Examining data/pentobi-18.3/libpentobi_base/PieceTransformsGembloQ.h
Examining data/pentobi-18.3/libpentobi_base/PieceTransformsTrigon.cpp
Examining data/pentobi-18.3/libpentobi_base/PieceTransformsTrigon.h
Examining data/pentobi-18.3/libpentobi_base/PlayerBase.cpp
Examining data/pentobi-18.3/libpentobi_base/PlayerBase.h
Examining data/pentobi-18.3/libpentobi_base/Point.h
Examining data/pentobi-18.3/libpentobi_base/PointList.h
Examining data/pentobi-18.3/libpentobi_base/PointState.h
Examining data/pentobi-18.3/libpentobi_base/PrecompMoves.h
Examining data/pentobi-18.3/libpentobi_base/ScoreUtil.h
Examining data/pentobi-18.3/libpentobi_base/Setup.h
Examining data/pentobi-18.3/libpentobi_base/StartingPoints.cpp
Examining data/pentobi-18.3/libpentobi_base/StartingPoints.h
Examining data/pentobi-18.3/libpentobi_base/SymmetricPoints.cpp
Examining data/pentobi-18.3/libpentobi_base/SymmetricPoints.h
Examining data/pentobi-18.3/libpentobi_base/TreeUtil.cpp
Examining data/pentobi-18.3/libpentobi_base/TreeUtil.h
Examining data/pentobi-18.3/libpentobi_base/TrigonGeometry.cpp
Examining data/pentobi-18.3/libpentobi_base/TrigonGeometry.h
Examining data/pentobi-18.3/libpentobi_base/TrigonTransform.cpp
Examining data/pentobi-18.3/libpentobi_base/TrigonTransform.h
Examining data/pentobi-18.3/libpentobi_base/Variant.cpp
Examining data/pentobi-18.3/libpentobi_base/Variant.h
Examining data/pentobi-18.3/libpentobi_base/tests/BoardConstTest.cpp
Examining data/pentobi-18.3/libpentobi_base/tests/BoardTest.cpp
Examining data/pentobi-18.3/libpentobi_base/tests/BoardUpdaterTest.cpp
Examining data/pentobi-18.3/libpentobi_base/tests/GameTest.cpp
Examining data/pentobi-18.3/libpentobi_base/tests/PentobiSgfUtilTest.cpp
Examining data/pentobi-18.3/libpentobi_base/tests/PentobiTreeTest.cpp
Examining data/pentobi-18.3/libpentobi_gtp/GtpEngine.cpp
Examining data/pentobi-18.3/libpentobi_gtp/GtpEngine.h
Examining data/pentobi-18.3/libpentobi_mcts/AnalyzeGame.cpp
Examining data/pentobi-18.3/libpentobi_mcts/AnalyzeGame.h
Examining data/pentobi-18.3/libpentobi_mcts/Float.h
Examining data/pentobi-18.3/libpentobi_mcts/History.cpp
Examining data/pentobi-18.3/libpentobi_mcts/History.h
Examining data/pentobi-18.3/libpentobi_mcts/LocalPoints.cpp
Examining data/pentobi-18.3/libpentobi_mcts/LocalPoints.h
Examining data/pentobi-18.3/libpentobi_mcts/Player.cpp
Examining data/pentobi-18.3/libpentobi_mcts/Player.h
Examining data/pentobi-18.3/libpentobi_mcts/PlayoutFeatures.h
Examining data/pentobi-18.3/libpentobi_mcts/PriorKnowledge.cpp
Examining data/pentobi-18.3/libpentobi_mcts/PriorKnowledge.h
Examining data/pentobi-18.3/libpentobi_mcts/Search.cpp
Examining data/pentobi-18.3/libpentobi_mcts/Search.h
Examining data/pentobi-18.3/libpentobi_mcts/SearchParamConst.h
Examining data/pentobi-18.3/libpentobi_mcts/SharedConst.cpp
Examining data/pentobi-18.3/libpentobi_mcts/SharedConst.h
Examining data/pentobi-18.3/libpentobi_mcts/State.cpp
Examining data/pentobi-18.3/libpentobi_mcts/State.h
Examining data/pentobi-18.3/libpentobi_mcts/StateUtil.cpp
Examining data/pentobi-18.3/libpentobi_mcts/StateUtil.h
Examining data/pentobi-18.3/libpentobi_mcts/Util.cpp
Examining data/pentobi-18.3/libpentobi_mcts/Util.h
Examining data/pentobi-18.3/libpentobi_mcts/tests/SearchTest.cpp
Examining data/pentobi-18.3/libpentobi_paint/Paint.cpp
Examining data/pentobi-18.3/libpentobi_paint/Paint.h
Examining data/pentobi-18.3/libpentobi_thumbnail/CreateThumbnail.cpp
Examining data/pentobi-18.3/libpentobi_thumbnail/CreateThumbnail.h
Examining data/pentobi-18.3/pentobi/AnalyzeGameModel.cpp
Examining data/pentobi-18.3/pentobi/AnalyzeGameModel.h
Examining data/pentobi-18.3/pentobi/AndroidUtils.cpp
Examining data/pentobi-18.3/pentobi/AndroidUtils.h
Examining data/pentobi-18.3/pentobi/GameModel.cpp
Examining data/pentobi-18.3/pentobi/GameModel.h
Examining data/pentobi-18.3/pentobi/ImageProvider.cpp
Examining data/pentobi-18.3/pentobi/ImageProvider.h
Examining data/pentobi-18.3/pentobi/Main.cpp
Examining data/pentobi-18.3/pentobi/PieceModel.cpp
Examining data/pentobi-18.3/pentobi/PieceModel.h
Examining data/pentobi-18.3/pentobi/PlayerModel.cpp
Examining data/pentobi-18.3/pentobi/PlayerModel.h
Examining data/pentobi-18.3/pentobi/RatingModel.cpp
Examining data/pentobi-18.3/pentobi/RatingModel.h
Examining data/pentobi-18.3/pentobi/SyncSettings.h
Examining data/pentobi-18.3/pentobi_gtp/GtpEngine.cpp
Examining data/pentobi-18.3/pentobi_gtp/GtpEngine.h
Examining data/pentobi-18.3/pentobi_gtp/Main.cpp
Examining data/pentobi-18.3/pentobi_kde_thumbnailer/PentobiThumbCreator.cpp
Examining data/pentobi-18.3/pentobi_kde_thumbnailer/PentobiThumbCreator.h
Examining data/pentobi-18.3/pentobi_thumbnailer/Main.cpp
Examining data/pentobi-18.3/twogtp/Analyze.cpp
Examining data/pentobi-18.3/twogtp/Analyze.h
Examining data/pentobi-18.3/twogtp/FdStream.cpp
Examining data/pentobi-18.3/twogtp/FdStream.h
Examining data/pentobi-18.3/twogtp/GtpConnection.cpp
Examining data/pentobi-18.3/twogtp/GtpConnection.h
Examining data/pentobi-18.3/twogtp/Main.cpp
Examining data/pentobi-18.3/twogtp/Output.cpp
Examining data/pentobi-18.3/twogtp/Output.h
Examining data/pentobi-18.3/twogtp/OutputTree.cpp
Examining data/pentobi-18.3/twogtp/OutputTree.h
Examining data/pentobi-18.3/twogtp/TwoGtp.cpp
Examining data/pentobi-18.3/twogtp/TwoGtp.h

FINAL RESULTS:

data/pentobi-18.3/pentobi/Main.cpp:264:34:  [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.
                "qt_" + QLocale::system().name(),
data/pentobi-18.3/pentobi/Main.cpp:269:49:  [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.
    translator.load(":qml/i18n/qml_" + QLocale::system().name());
data/pentobi-18.3/pentobi_thumbnailer/Main.cpp:31:34:  [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.
                "qt_" + QLocale::system().name(),
data/pentobi-18.3/pentobi_thumbnailer/Main.cpp:36:41:  [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.
    translator.load(":i18n/" + QLocale::system().name());
data/pentobi-18.3/twogtp/GtpConnection.cpp:109:5:  [4] (shell) execvp:
  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.
    execvp(args[0].c_str(), &(*argv.begin()));
data/pentobi-18.3/libpentobi_mcts/State.cpp:439:40:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    auto pos = lower_bound(begin, end, random);
data/pentobi-18.3/twogtp/OutputTree.cpp:208:20:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
        if (sum >= random)
data/pentobi-18.3/libboardgame_base/Grid.h:136: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_a, grid.m_a, geo.get_range() * sizeof(T));
data/pentobi-18.3/libboardgame_base/Log.cpp:41: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 m_buffer[buffer_size];
data/pentobi-18.3/libboardgame_base/SgfTree.cpp:70: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 date[128];
data/pentobi-18.3/pentobi/PlayerModel.cpp:93: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 (! file.open(QIODevice::ReadOnly))
data/pentobi-18.3/twogtp/FdStream.cpp:67: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 buffer[1];
data/pentobi-18.3/learn_tool/Main.cpp:329:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        has_more = reader.read(in, false);
data/pentobi-18.3/libboardgame_base/Geometry.h:206:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (! m_string_rep->read(begin, end, m_width, m_height, x, y)
data/pentobi-18.3/libboardgame_base/Reader.cpp:79:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool Reader::read(istream& in, bool check_single_tree)
data/pentobi-18.3/libboardgame_base/Reader.cpp:103:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
void Reader::read(const string& file)
data/pentobi-18.3/libboardgame_base/Reader.cpp:110:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        read(in);
data/pentobi-18.3/libboardgame_base/Reader.h:56:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool read(istream& in, bool check_single_tree = true);
data/pentobi-18.3/libboardgame_base/Reader.h:58:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(const string& file);
data/pentobi-18.3/libboardgame_base/StringRep.cpp:17:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool StdStringRep::read(string::const_iterator begin,
data/pentobi-18.3/libboardgame_base/StringRep.h:24:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    virtual bool read(string::const_iterator begin, string::const_iterator end,
data/pentobi-18.3/libboardgame_base/StringRep.h:44:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    bool read(string::const_iterator begin, string::const_iterator end,
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:19:6:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool read(const string& s, unsigned& x, unsigned& y, unsigned width,
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:22:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    return string_rep.read(s.begin(), s.end(), width, height, x, y);
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:41:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK(read("a1", x, y, 20, 20));
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:45:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK(read("a23", x, y, 25, 25));
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:49:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK(read("A1", x, y, 20, 20));
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:53:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK(read("j1", x, y, 20, 20));
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:57:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK(read("ab1", x, y, 30, 30));
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:61:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK(read("  a1", x, y, 20, 20));
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:65:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK(! read("a 1", x, y, 20, 20));
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:67:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK(! read("foobar", x, y, 20, 20));
data/pentobi-18.3/libboardgame_base/tests/StringRepTest.cpp:69:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK(! read("c3#", x, y, 20, 20));
data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp:22:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp:35:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp:47:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp:75:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp:84:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp:99:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader.read(in);
data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp:106:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader.read(in);
data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp:113:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader.read(in);
data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp:123:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK_THROW(reader.read(in), TreeReader::ReadError);
data/pentobi-18.3/libboardgame_base/tests/TreeReaderTest.cpp:130:37:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    LIBBOARDGAME_CHECK_THROW(reader.read(in), TreeReader::ReadError);
data/pentobi-18.3/libpentobi_base/BoardConst.cpp:1227:13:  [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.
        if (equal(sorted_points.begin(), sorted_points.end(),
data/pentobi-18.3/libpentobi_base/Book.cpp:67:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader.read(in);
data/pentobi-18.3/libpentobi_base/PieceMap.h:43:12:  [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 equal(m_a.begin(), m_a.end(), piece_map.m_a.begin());
data/pentobi-18.3/libpentobi_base/tests/BoardUpdaterTest.cpp:29:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/BoardUpdaterTest.cpp:45:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/BoardUpdaterTest.cpp:64:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/BoardUpdaterTest.cpp:86:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/BoardUpdaterTest.cpp:108:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/BoardUpdaterTest.cpp:128:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/GameTest.cpp:24:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/PentobiTreeTest.cpp:29:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/PentobiTreeTest.cpp:91:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/PentobiTreeTest.cpp:109:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/PentobiTreeTest.cpp:172:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_base/tests/PentobiTreeTest.cpp:213:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_gtp/GtpEngine.cpp:126:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader.read(file);
data/pentobi-18.3/libpentobi_mcts/tests/SearchTest.cpp:48:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_mcts/tests/SearchTest.cpp:88:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(in);
data/pentobi-18.3/libpentobi_thumbnail/CreateThumbnail.cpp:150:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader.read(path.toLocal8Bit().constData());
data/pentobi-18.3/pentobi/GameModel.cpp:1037:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        reader.read(in);
data/pentobi-18.3/twogtp/FdStream.cpp:43:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    auto n = read(m_fd, start, m_buf.size() - (start - base));
data/pentobi-18.3/twogtp/OutputTree.cpp:225:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    reader.read(file);

ANALYSIS SUMMARY:

Hits = 65
Lines analyzed = 37091 in approximately 0.84 seconds (44320 lines/second)
Physical Source Lines of Code (SLOC) = 26710
Hits@level = [0]   0 [1]  53 [2]   5 [3]   2 [4]   5 [5]   0
Hits@level+ = [0+]  65 [1+]  65 [2+]  12 [3+]   7 [4+]   5 [5+]   0
Hits/KSLOC@level+ = [0+] 2.43355 [1+] 2.43355 [2+] 0.44927 [3+] 0.262074 [4+] 0.187196 [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.