0029669: Crash on opening a document with same Ocaf attributes with different IDs
authorabv <abv@opencascade.com>
Fri, 25 May 2018 18:26:45 +0000 (21:26 +0300)
committerabv <abv@opencascade.com>
Fri, 25 May 2018 18:55:00 +0000 (21:55 +0300)
commit60fddce474b9fcf57356f77598f46a2682faf8f9
treedafe18c3f2b7053c1d65619c6a4bb69e9a198bd1
parent61ace3dc72b47a726746b43f05f1473dd4ccb044
0029669: Crash on opening a document with same Ocaf attributes with different IDs

Added protection against clash of attributes with the same GUID when more than one attribute of the same type but with different GUIDs are stored in the file.
If attribute with default GUID has already been read, then adding next empty attribute of the same type (done at start of its reading) will fail; in such case another attempt is made with Null GUID.
src/BinLDrivers/BinLDrivers_DocumentRetrievalDriver.cxx
src/XmlMDF/XmlMDF.cxx
tests/bugs/caf/bug29669 [new file with mode: 0644]