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.