From: Marco Costalba Date: Sun, 18 Jan 2015 09:41:56 +0000 (+0100) Subject: Fix a coverity scan warning X-Git-Url: https://git.sesse.net/?p=stockfish;a=commitdiff_plain;h=f7d8ea3866c26df10617e97513e906d1f5a5b833;ds=sidebyside Fix a coverity scan warning Coverity scan warns about uninitialized 'sf' argument when calling probe(). Actually it is a false positive because argument is passed by reference and assigned inside probe(). Nevertheless it is a hint that fucntion signature is a bit tricky, so rewrite it in a more conventional way, assigning 'sf' from probe() return value. No functional change. --- diff --git a/src/endgame.h b/src/endgame.h index 7ff70373..453d8b29 100644 --- a/src/endgame.h +++ b/src/endgame.h @@ -113,8 +113,8 @@ class Endgames { public: Endgames(); - template T* probe(Key key, T** eg) - { return *eg = map().count(key) ? map()[key].get() : nullptr; } + template> E* probe(Key key) + { return map().count(key) ? map()[key].get() : nullptr; } }; #endif // #ifndef ENDGAME_H_INCLUDED diff --git a/src/material.cpp b/src/material.cpp index be2cc594..e2294212 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -139,7 +139,7 @@ Entry* probe(const Position& pos) { // Let's look if we have a specialized evaluation function for this particular // material configuration. Firstly we look for a fixed configuration one, then // for a generic one if the previous search failed. - if (pos.this_thread()->endgames.probe(key, &e->evaluationFunction)) + if ((e->evaluationFunction = pos.this_thread()->endgames.probe(key)) != nullptr) return e; if (is_KXK(pos)) @@ -158,7 +158,7 @@ Entry* probe(const Position& pos) { // configuration. Is there a suitable specialized scaling function? EndgameBase* sf; - if (pos.this_thread()->endgames.probe(key, &sf)) + if ((sf = pos.this_thread()->endgames.probe(key)) != nullptr) { e->scalingFunction[sf->strong_side()] = sf; // Only strong color assigned return e;