0026451: Crash importing STeP file
authorika <ika@opencascade.com>
Thu, 3 Sep 2015 11:36:27 +0000 (14:36 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 3 Sep 2015 11:37:31 +0000 (14:37 +0300)
Add check for NULL.

Test case for issue CR26451

src/StepShape/StepShape_OrientedEdge.cxx
tests/bugs/step/bug26451 [new file with mode: 0644]
tests/bugs/step/parse.rules [new file with mode: 0644]

index 66feea0..49845cc 100644 (file)
@@ -69,6 +69,8 @@ Handle(StepShape_Vertex) StepShape_OrientedEdge::EdgeStart() const
 {
        // WARNING : the field is redefined.
        // method body is not yet automaticly wrote
+  if (edgeElement.IsNull())
+    return NULL;
   if (Orientation()) {
     return edgeElement->EdgeStart();
   }
@@ -88,7 +90,8 @@ Handle(StepShape_Vertex) StepShape_OrientedEdge::EdgeEnd() const
 {
        // WARNING : the field is redefined.
        // method body is not yet automaticly wrote
-
+  if (edgeElement.IsNull())
+    return NULL;
   if (Orientation()) {
     return edgeElement->EdgeEnd();
   }
diff --git a/tests/bugs/step/bug26451 b/tests/bugs/step/bug26451
new file mode 100644 (file)
index 0000000..e953f0e
--- /dev/null
@@ -0,0 +1,28 @@
+puts "========"
+puts "OCC26451"
+puts "========"
+puts ""
+##########################################################################
+# Crash importing STeP file
+##########################################################################
+
+stepread [locate_data_file bug26451_Test_STEP.stp] a *
+tpcompound result
+
+set square 550061
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX    : 7973
+ EDGE      : 8250
+ WIRE      : 1950
+ FACE      : 1716
+ SHELL     : 1716
+ SOLID     : 0
+ COMPSOLID : 0
+ COMPOUND  : 1
+ SHAPE     : 21606
+"
+checknbshapes result -ref ${nbshapes_expected} -t -m "importing file"
+
+set 3dviewer 1
diff --git a/tests/bugs/step/parse.rules b/tests/bugs/step/parse.rules
new file mode 100644 (file)
index 0000000..c48aff7
--- /dev/null
@@ -0,0 +1 @@
+IGNORE /Error on Record/ message during loading file