From 7fbc222aff19af45a2808a27fb448d1d37247eab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Ker=C3=A4nen?= Date: Sun, 20 Apr 2014 17:41:51 +0300 Subject: [PATCH] Fixed|Client|World: Result of operation is garbage or undefined Static analysis reveals that the return value of clipBlock() could be undefined, as didClipMin and didClipMax were uninitialized. --- doomsday/client/src/world/blockmap.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/doomsday/client/src/world/blockmap.cpp b/doomsday/client/src/world/blockmap.cpp index 06e04d7121..e5aaa9e36e 100644 --- a/doomsday/client/src/world/blockmap.cpp +++ b/doomsday/client/src/world/blockmap.cpp @@ -272,8 +272,10 @@ DENG2_PIMPL(Blockmap) return uint((y - bounds.minY) / cellSize); } - void clipCell(Cell &cell, bool &didClip) + /// @return @c true, if clipped; otherwise @c false. + bool clipCell(Cell &cell) const { + bool didClip = false; if(cell.x > dimensions.x) { cell.x = dimensions.x; @@ -284,6 +286,7 @@ DENG2_PIMPL(Blockmap) cell.y = dimensions.y; didClip = true; } + return didClip; } /** @@ -296,9 +299,8 @@ DENG2_PIMPL(Blockmap) */ bool clipBlock(CellBlock &block) { - bool didClipMin, didClipMax; - clipCell(block.min, didClipMin); - clipCell(block.max, didClipMax); + bool const didClipMin = clipCell(block.min); + bool const didClipMax = clipCell(block.max); return didClipMin | didClipMax; }