occt: master d30f25e6
Author | Committer | Branch | Timestamp | Parent |
---|---|---|---|---|
CharlemagneLasse | master | 2022-04-13 12:54:30 | master cec41bb9 | |
Affected Issues | 0032931: Crash in ChFi3d_IsInFront when no face was found | |||
Changeset | 0032931: Modeling Algorithms - Crash in ChFi3d_IsInFront when no face was found The ChFi3d_IsInFront code is currently not handling all the combinations correctly. For example, if `if(fd1->IndexOfS2() == fd2->IndexOfS2())` is true, it can happen that the `TopoDS::Face(DStr.Shape(fd1->Index(jf1)))` returns a Face with entity == NULL. The subsequent usage of this NULL face in `BRep_Tool::Parameters( Vtx, face )` will then cause a segfault. While the best approach would be to identify the implementation bug in the algorithm behind PChFi3d_IsInFron, a check + exception is used instead because the actual algorithm is not known. Signed-off-by: Charlemagne Lasse <charlemagnelasse@gmail.com> |
|||
mod - src/ChFi3d/ChFi3d_Builder_0.cxx | Diff File | |||
add - tests/bugs/modalg_8/bug32931 | Diff File |