View Issue Details

IDProjectCategoryView StatusLast Update
0010138Open CASCADEOCCT:Application Frameworkpublic2012-01-12 12:24
Reportervro Assigned Toszy  
PrioritynormalSeveritytrivial 
Status closedResolutionfixed 
OSAll 
Fixed in Version6.2.1 
Summary0010138: Crash on attempt to copy an OCAF attribute: TDataStd_RealArray, TDataStd_IntegerArray
DescriptionOn attempt to copy one of the OCAF attributes (TDataStd_RealArray or
TDataStd_IntegerArray) the application crashes. The crash happens in ::Paste()
method of the attribute calling the method ::ChangeArray(). The last mentioned
method requires some additional checkings on NULL in order to prevent the crash.
In addition, the static method Set() of these attributes doesn't process the
lower / upper limits of the keeping arrays in case of re-initialization of the
array.
Also, the method ::ChangeArray() checks the whole array for equality in order to
prevent backupping of the attribute. It seems reasonable to allow the array to
backup itself on any user request and let him manipulate the backups.
Additional information
and documentation updates
Documentation remark, added by SZY 2007-06-01 14:23:39:

New features:
To method ::ChangeArray() of TDataStd_IntegerArray, TDataStd_RealArray and
TDataStd-ExtStringArray OCAF attributes added a boolean flag <isCheckItems>
indicating comparison of each item of the input array with items of the
internal array of OCAF attribute.
If the flag is equal to true (default value), the OCAF attribute compare the
arrays and call the backup methods only if the arrays are different (the user
actually changes the arrays).
If the flag is set to false, the input array replaces the internal array of OCAF
attribute without any check. The flag is applicable to the case when dimensions
of arrays are equal.
Changes:
There are several changes in the behaviour of these two OCAF attributes:
1) The method ChangeArray() modified to fix bug and to be comparible with the
previus functionality
2) Implementation of several methods: Value, Upper, Lower, Length, Dump is
changed to be more optimal.

Modified entities:
TDataStd_IntegerArray
TDataStd_RealArray
TDataStd_ExtStringArray
TagsNo tags attached.
Test case number

Attached Files

  • vro-10138-v1.zip (3,013 bytes)
  • TestOCAF.cxx (4,979 bytes)
  • vro-10138-v2.zip (5,624 bytes)
  • Patch_for_BugOCC10130.tar.gz (3,981 bytes)
  • OCC10138_patch2.tar.gz (4,018 bytes)

Activities

2005-10-11 09:55

 

vro-10138-v1.zip (3,013 bytes)

2005-10-11 10:18

 

TestOCAF.cxx (4,979 bytes)

2006-06-19 13:03

 

vro-10138-v2.zip (5,624 bytes)

2007-05-21 14:31

 

Patch_for_BugOCC10130.tar.gz (3,981 bytes)

2007-06-01 14:25

 

OCC10138_patch2.tar.gz (4,018 bytes)

Issue History

Date Modified Username Field Change
2005-10-07 13:49 bugmaster CC => vro
2005-10-07 13:49 bugmaster Assigned To bugmaster => szy
2005-10-07 13:49 bugmaster Status new => assigned
2005-10-11 09:36 szy Assigned To szy => vro
2005-10-11 11:56 vro CC => mkv, szy
2005-10-11 11:56 vro Status assigned => resolved
2006-10-19 18:38 bugmaster Assigned To vro => bugmaster
2006-10-19 18:38 bugmaster Status resolved => assigned
2006-10-19 18:40 bugmaster Assigned To bugmaster => vro
2007-05-18 11:59 bugmaster Assigned To vro => szy
2007-05-22 12:24 szy Status assigned => resolved
2007-05-31 16:20 bugmaster Status resolved => assigned
2007-06-01 16:24 szy Status assigned => resolved
2007-06-07 16:19 bugmaster Status resolved => tested
2007-07-27 17:14 bugmaster Status tested => verified
2009-06-23 19:04 bugmaster Status verified => closed
2009-06-23 19:04 bugmaster Resolution @0@ => fixed
2011-08-02 10:32 bugmaster Category OCCT:OCAF => OCCT:Application Framework
2012-01-12 12:24 atp Description Updated
2012-01-12 12:24 atp Additional Information Updated