diff --git a/src/Mod/TechDraw/App/EdgeWalker.cpp b/src/Mod/TechDraw/App/EdgeWalker.cpp index a1775037d4..ae3d5b0af7 100644 --- a/src/Mod/TechDraw/App/EdgeWalker.cpp +++ b/src/Mod/TechDraw/App/EdgeWalker.cpp @@ -450,6 +450,13 @@ std::vector EdgeWalker::getEmbeddingRow(int v) //******************************************* // WalkerEdge Methods //******************************************* +WalkerEdge::WalkerEdge() +{ + // Ensure the edge is properly initialized (Coverity defect 316559) + ed.m_source = 0; + ed.m_target = 0; +} + bool WalkerEdge::isEqual(WalkerEdge w) { if ((v1 == w.v1 && v2 == w.v2) || diff --git a/src/Mod/TechDraw/App/EdgeWalker.h b/src/Mod/TechDraw/App/EdgeWalker.h index 98bbf37fb6..726f449026 100644 --- a/src/Mod/TechDraw/App/EdgeWalker.h +++ b/src/Mod/TechDraw/App/EdgeWalker.h @@ -71,14 +71,15 @@ using planar_embedding_t = class TechDrawExport WalkerEdge { public: + WalkerEdge(); static bool weCompare(WalkerEdge i, WalkerEdge j); bool isEqual(WalkerEdge w); std::string dump(); - std::size_t v1; - std::size_t v2; + std::size_t v1 {0}; + std::size_t v2 {0}; edge_t ed; - std::size_t idx; + std::size_t idx {0}; }; class TechDrawExport ewWire