From: abv Date: Fri, 20 Sep 2019 04:55:05 +0000 (+0300) Subject: 0030985: Modeling Algorithms - heap-use-after-free reported by Clang address sanitize... X-Git-Tag: V7_4_0~17 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=cbaac5de6d9dd755a459ad140e8afb498c507688;p=occt-copy.git 0030985: Modeling Algorithms - heap-use-after-free reported by Clang address sanitizer in TopOpeBRepTool_REGUW::InitBlock() Code is corrected to avoid use of reference to a shape removed from the list after that removal --- diff --git a/src/TopOpeBRepTool/TopOpeBRepTool_REGUW.cxx b/src/TopOpeBRepTool/TopOpeBRepTool_REGUW.cxx index a03315b991..38bd6ba383 100644 --- a/src/TopOpeBRepTool/TopOpeBRepTool_REGUW.cxx +++ b/src/TopOpeBRepTool/TopOpeBRepTool_REGUW.cxx @@ -447,8 +447,8 @@ Standard_Boolean TopOpeBRepTool_REGUW::InitBlock() const TopOpeBRepTool_connexity& cmu = mymapvEds.FindFromKey(vmu); Standard_Boolean mult = cmu.IsMultiple(); if (!mult) { - myListVmultiple.Remove(itmu); mymapvmultiple.Remove(vmu); + myListVmultiple.Remove(itmu); } else itmu.Next(); }