소스 검색

IFC: fix possible use after free access bug.

Kim Kulling 9 년 전
부모
커밋
e51b7d2a61
1개의 변경된 파일4개의 추가작업 그리고 4개의 파일을 삭제
  1. 4 4
      code/IFCOpenings.cpp

+ 4 - 4
code/IFCOpenings.cpp

@@ -715,14 +715,14 @@ void FindAdjacentContours(ContourVector::iterator current, const ContourVector&
             const Contour& mcontour = (*it).contour;
 
             for (size_t n = 0; n < ncontour.size(); ++n) {
-                const IfcVector2& n0 = ncontour[n];
-                const IfcVector2& n1 = ncontour[(n+1) % ncontour.size()];
+                const IfcVector2 n0 = ncontour[n];
+                const IfcVector2 n1 = ncontour[(n+1) % ncontour.size()];
 
                 for (size_t m = 0, mend = (is_me ? n : mcontour.size()); m < mend; ++m) {
                     ai_assert(&mcontour != &ncontour || m < n);
 
-                    const IfcVector2& m0 = mcontour[m];
-                    const IfcVector2& m1 = mcontour[(m+1) % mcontour.size()];
+                    const IfcVector2 m0 = mcontour[m];
+                    const IfcVector2 m1 = mcontour[(m+1) % mcontour.size()];
 
                     IfcVector2 isect0, isect1;
                     if (IntersectingLineSegments(n0,n1, m0, m1, isect0, isect1)) {