From: Marco Costalba Date: Sat, 26 May 2012 22:14:37 +0000 (+0100) Subject: Fix a possible 'Division by zero' X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=61a054b17002a167a09ce09eb9a7d820d792c680;hp=3361ad42420e578362dcafb94b639738609bf7d7;ds=sidebyside Fix a possible 'Division by zero' In case a book entry has 'count' field set to 0 we crash. Spotted by Clang's static analyzer. No functional change. Signed-off-by: Marco Costalba --- diff --git a/src/book.cpp b/src/book.cpp index 0fff6827..fbb1984c 100644 --- a/src/book.cpp +++ b/src/book.cpp @@ -420,7 +420,7 @@ Move Book::probe(const Position& pos, const string& fName, bool pickBest) { // Choose book move according to its score. If a move has a very // high score it has higher probability to be choosen than a move // with lower score. Note that first entry is always chosen. - if ( (RKiss.rand() % sum < e.count) + if ( (sum && RKiss.rand() % sum < e.count) || (pickBest && e.count == best)) move = Move(e.move); }