occt: master ef59b5e0

Author Committer Branch Timestamp Parent
msv bugmaster master 2020-01-10 17:59:51 master 0c061f3d
Changeset 0031292: Data Exchange - SIGSEGV on reading STEP file with references to invalid entities

Changes:

- in StepData_StepReaderData::ReadEntity, make sure that entity handle is not null before calling IsKind() of it.

- in StepData_StepReaderData::SetEntityNumbers, do not invert the sign of entity number of referenced parameter if the second pass is not required. Otherwise, the number -1 (obviously invalid) becomes 1 (invalid, but not obviously) without further correction of it.

- in StepData_UndefinedEntity::ReadRecord, consider the case when the entity number is positive but refers to non-existing entity. In this case literal value will be used instead of null entity for the problematic parameter.
mod - src/StepData/StepData_StepReaderData.cxx Diff File
mod - src/StepData/StepData_UndefinedEntity.cxx Diff File
add - tests/bugs/step/bug31292 Diff File