View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0030550 | Community | OCCT:Foundation Classes | public | 2019-03-09 17:42 | 2019-05-20 12:42 |
Reporter | galbramc | Assigned To | bugmaster | ||
Priority | normal | Severity | major | ||
Status | closed | Resolution | fixed | ||
Product Version | 7.3.0 | ||||
Target Version | 7.4.0 | Fixed in Version | 7.4.0 | ||
Summary | 0030550: Coding - Integer overflow in Standard_CString HashCodes | ||||
Description | I compiled OCCT with the -fsanitize=undefined flag and got the following errors: src/Standard/Standard_CString.cxx:52:19: runtime error: left shift of 1949099841 by 5 places cannot be represented in type 'int' src/Standard/Standard_CString.cxx:52:25: runtime error: signed integer overflow: 855879620 + 1618344064 cannot be represented in type 'int' src/Standard/Standard_CString.cxx:52:25: runtime error: signed integer overflow: 65441945 + 2094142240 cannot be represented in type 'int' I can provide a specific example string that reproduces this if needed. A simple fix is to change 'Standard_Integer hash' to 'Standard_Size hash', as well as the return value of the function. | ||||
Steps To Reproduce | Compile OCCT with a g++ newer than 4.9 with the -fsanitize=undefined compiler flag and run the test suite. | ||||
Tags | No tags attached. | ||||
Test case number | not required | ||||
parent of | 0030718 | closed | bugmaster | Open CASCADE | Foundation Classes, TColStd_PackedMapOfInteger - broken triangulation within 32-bit builds |
parent of | 0030720 | closed | bugmaster | Open CASCADE | Coding - fix HashCode() function problems that are not resolved with 30550 |
related to | 0030608 | new | Open CASCADE | Foundation Classes - Undefined behavior caused by overflow in arithmetic operations with signed integers in HashCode() functions | |
related to | 0030551 | closed | bugmaster | Community | Foundation Classes - Integer overflow in NCollection_CellFilter HashCode |
child of | 0030557 | new | dpasukhi | Open CASCADE | Coding - eliminate errors reported by -fsanitize |
|
Branch CR30550 has been created by tizmaylo. SHA-1: 6f4e21209962944e39be868b7d403f5080c872cb Detailed log of new commits: Author: tiv Date: Fri Mar 22 19:32:17 2019 +0300 0030550: Coding - Integer overflow in Standard_CString HashCodes 0030551: Foundation Classes - Integer overflow in NCollection_CellFilter HashCode Signed integers are not used in hash code functions now to prevent undefined behavior on left shift operations with signed integers. |
|
Is casting the 'unsigned int' back to 'int' really safe here? I'm concerned that the issue is just being delayed rather than resolved... |
|
The cast "unsigned int → int" is implementation defined. What problem do you see here? And could you provide an example string that reproduces the original overflow problem? |
|
Branch CR30550 has been updated forcibly by tizmaylo. SHA-1: 075515231ae1e33b04e10dc073ac4b273af95f5e |
|
Standard_CString_HashCode.tgz (916 bytes) |
|
I uploaded some examples that produce the overflow error. You have to compile OCCT with the -fsanitize=undefined flags to get the message. Personally I add: SET( CMAKE_CXX_FLAGS_MEMCHECK "-g -Os -fsanitize=address -fno-omit-frame-pointer" CACHE STRING "C++ Compiler Memory Check Flags" FORCE ) SET( CMAKE_CXX_FLAGS_UNDEFINED "-g -Os -fsanitize=undefined -fno-omit-frame-pointer" CACHE STRING "C++ Compiler Undefined Check Flags" FORCE ) to my cmake files and set the CMAKE_BUILD_TYPE to "Undefined" to enable the flags. If you support negative hash codes then I suppose casting back to an int is valid. |
|
Branch CR30550 has been updated by tizmaylo. SHA-1: 2e778e4a1cbc2a5a842b36b0b27165f32ede4f1c Detailed log of new commits: Author: tiv Date: Tue Mar 26 12:30:00 2019 +0300 0030550: Coding - Integer overflow in Standard_CString HashCodes 0030551: Foundation Classes - Integer overflow in NCollection_CellFilter HashCode A possibility of negative values of hash codes is eliminated. |
|
Dear galbramc, it looks like you are right, negative values of hash codes are not allowed. Thank you for the provided examples! |
|
You are welcome. Any chance these or some other examples can be added to your test suite with some assertions so this does not creep back in? I also wonder how all those negative hash codes were being used before... |
|
Patch is ready for review: http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30550-master-TIV/view/ALL/ |
|
- return aCode % theUpper; + return static_cast<Standard_Integer>(aCode & INT_MAX) % theUpper; IntegerLast() alias is preferred over INT_MAX. And please squash commits. |
|
Branch CR30550 has been updated forcibly by tizmaylo. SHA-1: 77cf58aeb1fad650fdb953d7d4f6ef0a6a075251 |
|
Patch is ready for review: http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30550-master-TIV/view/ALL/ |
|
@@ -52,7 +52,7 @@ Standard_Integer HashCodes (const Standard_CString Value, hash = ((hash << 5) + hash) ^ (*c); } - return hash; + return hash & IntegerLast(); ... inline Standard_Integer HashCode (const Standard_CString theStr, const Standard_Integer theLen, const Standard_Integer theUpper) { // return (Abs( HashCodes( Value , Len ) ) % Upper ) + 1 ; return HashCode (HashCodes (theStr, theLen), theUpper); } ... Standard_Integer HashCode (const Standard_CString Value, const Standard_Integer Upper ) { Standard_Integer aLen = (Standard_Integer)strlen(Value); return HashCode (HashCodes (Value, aLen), Upper); } This would push truncation to be done twice. Do you think compiler will notice and optimize that? Anyway, it looks redundant - it might be better updating documentation of HashCodes() to specify that result is unbound (including negative values), which is actually already expected. - return h % upper; + return static_cast<Standard_Integer>(h & IntegerLast()) % upper; This implementation looks broken - all other HashCodes() guaranty the range [1, upper]. Consider calling HashCode(int,int) instead, as in other places. Please also update documentation for HashCode() functions in Standard package to mention the output range - currently it is explicitly specified only for Standard_CString implementation. //! Returns bounded hash code for a null-terminated string, //! in range [1, theUpper] Standard_Integer HashCode (const Standard_CString theStr, const Standard_Integer theUpper); - return HashCode (hash, Upper); + return HashCode (static_cast<Standard_Integer>(hash), Upper); It might be reasonable providing a HashCode(unsigned int, int) instead of numerous static_casts. Although this would require avoiding ambguity with size_t/char32_t/unsigned int on some platforms. |
|
galbramc wrote: > I also wonder how all those negative hash codes were being used before... They actually never produced, because HashCode(int,int) always truncated result to the bound range. So far, only TopLoc_Location::HashCode()/TopLoc_MapLocationHasher implementation looks initially broken, although I may misunderstand the math: // the HashCode computed for a Location is the bitwise exclusive or // of values computed for each element of the list // to compute this value, the depth of the element is computed // the depth is the position of the element in the list // this depth is multiplied by 3 // each element is an elementary Datum raised to a Power // the Power is bitwise left shifted by depth // this is added to the HashCode of the Datum // this value is biwise rotated by depth // the use of depth avoids getting the same result for two permutated lists. Standard_Integer depth = 0; unsigned int h = 0; TopLoc_SListOfItemLocation items = myItems; while (items.More()) { depth += 3; unsigned int i = ::HashCode (items.Value().myDatum, upper); unsigned int j = ( (i + items.Value().myPower) <<depth); j = j>>(32-depth) | j<<depth; h ^= j; items.Next(); } return h % upper; |
|
Branch CR30550 has been updated forcibly by tizmaylo. SHA-1: 63e17307c4fd089ebc41569182cc710b24421f69 |
|
Patch is ready for review: http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30550-master-TIV/view/ALL/ |
|
I see in many places the code of HashCode was wrong, as returned the range [0,upper-1], running the code value % upper. You have replaced such codes with calling the proper HashCode for the given type. It is OK. I wonder how it worked earlier and did not crash due to this error. However, I have found one place you have left returning possible 0. It is in src/VrmlData/VrmlData_Node.cxx. I think it should be also fixed. |
|
> I wonder how it worked earlier and did not crash due to this error. As far as I understand, NCollection map classes, where these hash functions are actually used, allocates array of [0,Upper] size, so that 1 element is always wasted in both cases [1,Upper]/[0,Upper-1]. |
|
Oh, yes, then nothing needs to be changed. |
|
Reviewed. |
|
> Oh, yes, then nothing needs to be changed. I didn't meant that - VrmlData_Node.cxx should be indeed corrected to follow original HashCode() decription or removed if not used actually. NCollection_Map misuse should be investigated within dedicated issue. |
|
NCollection_Map has got its behavior from TCollection_Map, it was so always. |
|
Branch CR30550 has been updated forcibly by tizmaylo. SHA-1: f9902d092e07623b54fc3d7488e9b5c40fc93e8b |
|
Branch CR30550_1 has been created by tizmaylo. SHA-1: d906feb9af0de05e2275a99fb0ed90848e3c6d25 Detailed log of new commits: Author: tiv Date: Tue Apr 9 17:38:48 2019 +0300 0030550: Coding - Integer overflow in Standard_CString HashCodes 0030551: Foundation Classes - Integer overflow in NCollection_CellFilter HashCode Signed integers are not used in hash code functions now to prevent undefined behavior on left shift operations with signed integers. A possibility of negative values of hash codes is eliminated. |
|
Patch is ready for review: http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30550_1-master-TIV/view/ALL/ Main branch: CR30550 Branch with squashed commits: CR30550_1 |
|
Reviewed. |
|
branch has been tested as part of WEEK-15. It causes errors of compilation on all platforms http://jenkins-test-12.nnov.opencascade.com/view/IR-WEEK15/view/OCCT%20compile/ http://jenkins-test-08.nnov.opencascade.com/view/IR-WEEK15_IR-WEEK15/view/OCCT%20compile/ |
|
There is a merge conflict with patch for 0030618. Please rebase the patch onto current IR (or CR30618) manually. |
|
Please also revert unrelated cosmetic changes in the patch:--- a/src/BOPTools/BOPTools_Parallel.hxx +++ b/src/BOPTools/BOPTools_Parallel.hxx @@ -57,8 +57,13 @@ class BOPTools_Parallel { static Standard_Integer HashCode(const Standard_ThreadId theKey, const Standard_Integer Upper) + //! Computes a hash code for the given thread identifier, in the range [1, theUpperBound] + //! @param theThreadId the thread identifier which hash code is to be computed + //! @param theUpperBound the upper bound of the range a computing hash code must be within + //! @return a computed hash code, in the range [1, theUpperBound] + static Standard_Integer HashCode (const Standard_ThreadId theThreadId, const Standard_Integer theUpperBound) { - return ::HashCode((Standard_Size)theKey, Upper); + return ::HashCode (theThreadId, theUpperBound); } static Standard_Boolean IsEqual(const Standard_ThreadId theKey1, @@ -94,7 +99,7 @@ class BOPTools_Parallel - Standard_Mutex::Sentry aLocker (myMutex); + Standard_Mutex::Sentry aLocker(myMutex); .. @@ -114,7 +119,7 @@ class BOPTools_Parallel ContextFunctor& operator= (const ContextFunctor&); private: - TypeSolverVector& mySolverVector; + TypeSolverVector& mySolverVector; .. }; @@ -173,7 +178,7 @@ public: //! Context dependent version template<class TypeSolverVector, class TypeContext> static void Perform (Standard_Boolean theIsRunParallel, - TypeSolverVector& theSolverVector, + TypeSolverVector& theSolverVector, opencascade::handle<TypeContext>& theContext) { .. - aFunctor.SetContext (theContext); + aFunctor.SetContext(theContext); |
|
Branch CR30550_2 has been created by tizmaylo. SHA-1: 98fd5ae264dfc0b4dc5c633616caced16cd2df07 Detailed log of new commits: Author: tiv Date: Thu Apr 11 10:56:04 2019 +0300 0030550: Coding - Integer overflow in Standard_CString HashCodes 0030551: Foundation Classes - Integer overflow in NCollection_CellFilter HashCode Signed integers are not used in hash code functions now to prevent undefined behavior on left shift operations with signed integers. A possibility of negative values of hash codes is eliminated. |
|
Changes from CR30550_1 are moved onto IR-WEEK15. The result is at the new branch CR30550_2. |
|
Branch CR30550_3 has been created by tizmaylo. SHA-1: 0e858ba2677b051c1d2e17cdd2059e50371fb1a5 Detailed log of new commits: Author: tiv Date: Fri Apr 12 18:28:04 2019 +0300 # VC9 compilation error is fixed |
|
VC9 compile error is fixed. Look at the new branch CR30550_3. |
|
Error of compilation I removed it from IR-2019-04-13 http://jenkins-test-08.nnov.opencascade.com/view/IR-2019-04-12_IR-2019-04-12/view/OCCT%20compile/ |
|
Branch CR30550_4 has been created by tizmaylo. SHA-1: 4a8808952ae1be3c993a2c80460f69cb794cba72 Detailed log of new commits: Author: tiv Date: Mon Apr 15 13:11:11 2019 +0300 0030550: Coding - Integer overflow in Standard_CString HashCodes 0030551: Foundation Classes - Integer overflow in NCollection_CellFilter HashCode Signed integers are not used in hash code functions now to prevent undefined behavior on left shift operations with signed integers. A possibility of negative values of hash codes is eliminated. |
|
Branch CR30550 has been updated forcibly by tizmaylo. SHA-1: e5de62fbd430b28418fc9050ad3961aa03a7c3e7 |
|
OCCT compilation of the branch CR30550_4 is needed to be performed on Windows-VC9 and Ubuntu-Android variants of compilers (e.g. OCCT-Windows-32-VC9-opt-compile and OCCT-Ubuntu-1604-32-Android-opt-compile). Only compilation results are needed, not tests or something else. |
|
http://jenkins-test-08.nnov.opencascade.com/view/CR30550_4_master/view/OCCT%20compile/ If you think that it is OK i would like to test this fix on full set of tests to night |
|
#include <pthread.h> typedef pthread_t Standard_ThreadId; +//! Computes a hash code for the given thread identifier (that is actually an integer), in the range [1, theUpperBound] +//! @param TheThreadId the type of the given thread identifier (it is Standard_ThreadId, +//! and must not be the same as Standard_Size, because the overload of the HashCode function +//! for Standard_Size type is already presented in Standard_Size.hxx) +//! @param theThreadId the thread identifier which hash code is to be computed +//! @param theUpperBound the upper bound of the range a computing hash code must be within +//! @return a computed hash code, in the range [1, theUpperBound] +template <typename TheThreadId> +typename opencascade::std::enable_if<opencascade::std::is_same<TheThreadId, Standard_ThreadId>::value + && !opencascade::std::is_same<TheThreadId, Standard_Size>::value + && opencascade::std::is_convertible<TheThreadId, Standard_Size>::value, + Standard_Integer>::type +HashCode (const TheThreadId theThreadId, const Standard_Integer theUpperBound) +{ + return ::HashCode (static_cast<Standard_Size> (theThreadId), theUpperBound); +} + We can avoid all this mess with platform-dependent Standard_ThreadId, by defining it as Standard_Size and adding static-cast in the places, where it is generated. This type is not documented to access actual thread object (and on Windows it is not HANDLE), the purpose of this type is identifying the thread by unique id, which Standard_Size would be applicable for considering that there is no known platform defining underlying system type larger than size_t (and no any reason for this - on Windows it is even 32-bit integer on 64-bit platform). The only exception is awkward definitions of pthread_t like this, but we can just ignore such obsolete implementations: typedef struct { void * p; /* Pointer to actual object */ unsigned int x; /* Extra information - reuse count etc */ } ptw32_handle_t; typedef ptw32_handle_t pthread_t; |
|
Branch CR30550_4 has been updated forcibly by tizmaylo. SHA-1: 8ab6abdb5167179dd4b40b55a92788b9f4281349 |
|
Branch CR30550 has been updated by tizmaylo. SHA-1: 40be9575c2fbb2ac9fb8ce1898eec80403666281 Detailed log of new commits: Author: tiv Date: Tue Apr 16 12:44:22 2019 +0300 # A problem with HashCode function for Standard_ThreadId type on different platforms is probably fixed. |
|
Branch CR30550 has been updated forcibly by tizmaylo. SHA-1: 73d1d3ce7a1b4c1847e1ff864675afbc9b9a52d4 |
|
Branch CR30550_4 has been updated forcibly by tizmaylo. SHA-1: 69c72aaacf059878c0fc2885b590355e95fc298d |
|
Branch CR30550 has been updated forcibly by tizmaylo. SHA-1: 1f4e8b3c19072095051625d15985ccc8463f80c6 |
|
Branch CR30550_4 has been updated forcibly by tizmaylo. SHA-1: 12c8972c6dbc33e577a030af6a0f059ed09bd3fb |
|
Patch is ready for review: http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30550_4-master-TIV/view/ALL/ Main branch: CR30550 Branch with squashed commits: CR30550_4 |
|
Combination - OCCT branch : CR30550_4 master SHA - 12c8972c6dbc33e577a030af6a0f059ed09bd3fb d67d4b811012eef8913d3c535c29654d0acf3c4c Products branch : master SHA - bcb5483cf17c66425886b3ab24cc11049e73b75a was compiled on Linux, MacOS and Windows platforms and tested in optimize mode. Number of compiler warnings: No new/fixed warnings Regressions/Differences/Improvements: No regressions/differences CPU differences: Debian80-64: OCCT Total CPU difference: 16536.000000000025 / 16536.409999999894 [-0.00%] Products Total CPU difference: 10465.370000000034 / 10520.190000000048 [-0.52%] Windows-64-VC14: OCCT Total CPU difference: 17940.75 / 17951.921875 [-0.06%] Products Total CPU difference: 11997.421875 / 12011.875 [-0.12%] Image differences : No differences that require special attention Memory differences : No differences that require special attention |
|
Removed from IR-WEEK16 because error of compilation [ 1%] Building CXX object src/TKernel/CMakeFiles/TKernel.dir/__/Standard/Standard_MMgrRaw.cxx.o /Users/mnt/builds/IR-WEEK16/OCCT_SRC/src/Standard/Standard_ErrorHandler.cxx:50:10: error: cannot initialize return object of type 'Standard_ThreadId' (aka 'unsigned long') with an rvalue of type 'pthread_t _Nonnull' (aka '_opaque_pthread_t *') return pthread_self(); ^~~~~~~~~~~~~~ 1 error generated. |
|
Products compilation of the branch CR30550 (attention: it was forcibly updated) is needed to be performed on Windows-UWP platform using OCCT compiled with CR30550_4 branch changes. Only compilation results are needed, not tests or something else. |
|
Results of testing http://jenkins-test-08.nnov.opencascade.com/view/IR-WEEK16_IR-WEEK16-1/view/PRODUCTS%20compile/ |
|
Branch CR30550_4 has been deleted by inv. SHA-1: 12c8972c6dbc33e577a030af6a0f059ed09bd3fb |
|
Branch CR30550 has been deleted by inv. SHA-1: 1f4e8b3c19072095051625d15985ccc8463f80c6 |
|
Branch CR30550_3 has been deleted by inv. SHA-1: 0e858ba2677b051c1d2e17cdd2059e50371fb1a5 |
|
Branch CR30550_2 has been deleted by inv. SHA-1: 98fd5ae264dfc0b4dc5c633616caced16cd2df07 |
|
Branch CR30550_1 has been deleted by inv. SHA-1: d906feb9af0de05e2275a99fb0ed90848e3c6d25 |
occt: master 2b2be3fb 2019-03-28 09:42:41 tiv Committer: bugmaster Details Diff |
0030550: Coding - Integer overflow in Standard_CString HashCodes 0030551: Foundation Classes - Integer overflow in NCollection_CellFilter HashCode Signed integers are not used in hash code functions now to prevent undefined behavior on left shift operations with signed integers. A possibility of negative values of hash codes is eliminated. INT_MAX → IntegerLast() in hash code functions. All found hash code functions behaves uniformly now: they return a value in the range [1, theUpperBound]. Relevant comments are added to such functions. |
Affected Issues 0030550 |
|
mod - src/BOPDS/BOPDS_Pair.hxx | Diff File | ||
mod - src/BOPDS/BOPDS_PairMapHasher.hxx | Diff File | ||
mod - src/BOPDS/BOPDS_PaveMapHasher.hxx | Diff File | ||
mod - src/BOPDS/BOPDS_PaveMapHasher.lxx | Diff File | ||
mod - src/BOPTools/BOPTools_Parallel.hxx | Diff File | ||
mod - src/BOPTools/BOPTools_Set.cxx | Diff File | ||
mod - src/BOPTools/BOPTools_Set.hxx | Diff File | ||
mod - src/BOPTools/BOPTools_SetMapHasher.hxx | Diff File | ||
mod - src/BOPTools/BOPTools_SetMapHasher.lxx | Diff File | ||
mod - src/BRepMesh/BRepMesh_Edge.hxx | Diff File | ||
mod - src/BRepMesh/BRepMesh_OrientedEdge.hxx | Diff File | ||
mod - src/BRepMesh/BRepMesh_Triangle.hxx | Diff File | ||
mod - src/BRepMesh/BRepMesh_Vertex.hxx | Diff File | ||
mod - src/Font/Font_FontMgr.hxx | Diff File | ||
mod - src/Font/Font_SystemFont.hxx | Diff File | ||
mod - src/IMeshData/IMeshData_Types.hxx | Diff File | ||
mod - src/Interface/Interface_MapAsciiStringHasher.cxx | Diff File | ||
mod - src/Interface/Interface_MapAsciiStringHasher.hxx | Diff File | ||
mod - src/IntPolyh/IntPolyh_Couple.hxx | Diff File | ||
mod - src/IntPolyh/IntPolyh_CoupleMapHasher.hxx | Diff File | ||
mod - src/IntTools/IntTools_CurveRangeSampleMapHasher.hxx | Diff File | ||
mod - src/IntTools/IntTools_CurveRangeSampleMapHasher.lxx | Diff File | ||
mod - src/IntTools/IntTools_SurfaceRangeSampleMapHasher.hxx | Diff File | ||
mod - src/IntTools/IntTools_SurfaceRangeSampleMapHasher.lxx | Diff File | ||
mod - src/MAT2d/MAT2d_MapBiIntHasher.hxx | Diff File | ||
mod - src/MAT2d/MAT2d_MapBiIntHasher.lxx | Diff File | ||
mod - src/MeshVS/MeshVS_SymmetricPairHasher.hxx | Diff File | ||
mod - src/MeshVS/MeshVS_TwoColors.cxx | Diff File | ||
mod - src/MeshVS/MeshVS_TwoColors.hxx | Diff File | ||
mod - src/MeshVS/MeshVS_TwoNodes.hxx | Diff File | ||
mod - src/MoniTool/MoniTool_ElemHasher.cxx | Diff File | ||
mod - src/MoniTool/MoniTool_ElemHasher.hxx | Diff File | ||
mod - src/MoniTool/MoniTool_MTHasher.hxx | Diff File | ||
mod - src/MoniTool/MoniTool_MTHasher.lxx | Diff File | ||
mod - src/NCollection/NCollection_AccAllocator.hxx | Diff File | ||
mod - src/NCollection/NCollection_CellFilter.hxx | Diff File | ||
mod - src/NCollection/NCollection_DefaultHasher.hxx | Diff File | ||
mod - src/OSD/OSD_Thread.cxx | Diff File | ||
mod - src/Poly/Poly_MakeLoops.hxx | Diff File | ||
mod - src/QANCollection/QANCollection_Test.cxx | Diff File | ||
mod - src/Quantity/Quantity_ColorHasher.hxx | Diff File | ||
mod - src/Quantity/Quantity_ColorRGBAHasher.hxx | Diff File | ||
mod - src/RWStl/RWStl_Reader.cxx | Diff File | ||
mod - src/Standard/FILES | Diff File | ||
mod - src/Standard/Standard_Address.hxx | Diff File | ||
mod - src/Standard/Standard_CString.cxx | Diff File | ||
mod - src/Standard/Standard_CString.hxx | Diff File | ||
mod - src/Standard/Standard_ErrorHandler.cxx | Diff File | ||
mod - src/Standard/Standard_ExtString.cxx | Diff File | ||
mod - src/Standard/Standard_ExtString.hxx | Diff File | ||
mod - src/Standard/Standard_GUID.cxx | Diff File | ||
mod - src/Standard/Standard_GUID.hxx | Diff File | ||
mod - src/Standard/Standard_Handle.hxx | Diff File | ||
mod - src/Standard/Standard_Integer.hxx | Diff File | ||
mod - src/Standard/Standard_Real.cxx | Diff File | ||
mod - src/Standard/Standard_Real.hxx | Diff File | ||
mod - src/Standard/Standard_ShortReal.cxx | Diff File | ||
mod - src/Standard/Standard_ShortReal.hxx | Diff File | ||
mod - src/Standard/Standard_Size.hxx | Diff File | ||
add - src/Standard/Standard_Std.hxx | Diff File | ||
mod - src/Standard/Standard_ThreadId.hxx | Diff File | ||
mod - src/Standard/Standard_Transient.hxx | Diff File | ||
mod - src/Standard/Standard_Type.cxx | Diff File | ||
mod - src/STEPConstruct/STEPConstruct_PointHasher.hxx | Diff File | ||
mod - src/STEPConstruct/STEPConstruct_PointHasher.lxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_CartesianPointHasher.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_CartesianPointHasher.hxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_PointPairHasher.cxx | Diff File | ||
mod - src/StepToTopoDS/StepToTopoDS_PointPairHasher.hxx | Diff File | ||
mod - src/TCollection/TCollection_AsciiString.hxx | Diff File | ||
mod - src/TCollection/TCollection_AsciiString.lxx | Diff File | ||
mod - src/TCollection/TCollection_ExtendedString.hxx | Diff File | ||
mod - src/TColStd/TColStd_PackedMapOfInteger.cxx | Diff File | ||
mod - src/TDF/TDF_LabelMapHasher.hxx | Diff File | ||
mod - src/TObj/TObj_Common.hxx | Diff File | ||
mod - src/TopLoc/TopLoc_Location.cxx | Diff File | ||
mod - src/TopLoc/TopLoc_Location.hxx | Diff File | ||
mod - src/TopoDS/TopoDS_Shape.cxx | Diff File | ||
mod - src/TopoDS/TopoDS_Shape.hxx | Diff File | ||
mod - src/TopTools/TopTools_OrientedShapeMapHasher.hxx | Diff File | ||
mod - src/TopTools/TopTools_OrientedShapeMapHasher.lxx | Diff File | ||
mod - src/TopTools/TopTools_ShapeMapHasher.hxx | Diff File | ||
mod - src/TopTools/TopTools_ShapeMapHasher.lxx | Diff File | ||
mod - src/Transfer/Transfer_FindHasher.cxx | Diff File | ||
mod - src/Transfer/Transfer_FindHasher.hxx | Diff File | ||
mod - src/VrmlData/VrmlData_Node.cxx | Diff File | ||
mod - src/VrmlData/VrmlData_Node.hxx | Diff File | ||
mod - src/XCAFDoc/XCAFDoc_AssemblyItemId.hxx | Diff File | ||
mod - src/XCAFPrs/XCAFPrs_Style.hxx | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-03-09 17:42 | galbramc | New Issue | |
2019-03-09 17:42 | galbramc | Assigned To | => abv |
2019-03-20 08:40 | kgv | Relationship added | child of 0030557 |
2019-03-20 08:40 | kgv | Assigned To | abv => tizmaylo |
2019-03-20 08:40 | kgv | Status | new => assigned |
2019-03-20 08:40 | kgv | Summary | Integer overflow in Standard_CString HashCodes => Coding - Integer overflow in Standard_CString HashCodes |
2019-03-22 19:38 | git | Note Added: 0083202 | |
2019-03-24 23:08 | galbramc | Note Added: 0083211 | |
2019-03-25 11:01 |
|
Note Added: 0083215 | |
2019-03-25 12:02 | git | Note Added: 0083220 | |
2019-03-25 19:46 | galbramc | File Added: Standard_CString_HashCode.tgz | |
2019-03-25 19:50 | galbramc | Note Added: 0083225 | |
2019-03-26 12:36 | git | Note Added: 0083230 | |
2019-03-26 14:33 |
|
Note Added: 0083233 | |
2019-03-26 14:46 | galbramc | Note Added: 0083235 | |
2019-03-26 14:54 |
|
Note Added: 0083237 | |
2019-03-26 14:55 |
|
Assigned To | tizmaylo => kgv |
2019-03-26 14:55 |
|
Status | assigned => resolved |
2019-03-26 15:14 |
|
Relationship added | related to 0030608 |
2019-03-26 16:31 | kgv | Note Added: 0083244 | |
2019-03-26 16:31 | kgv | Assigned To | kgv => tizmaylo |
2019-03-26 16:31 | kgv | Status | resolved => assigned |
2019-03-26 16:31 | kgv | Target Version | => 7.4.0 |
2019-03-26 20:19 | git | Note Added: 0083260 | |
2019-03-27 10:09 |
|
Note Added: 0083261 | |
2019-03-27 10:09 |
|
Assigned To | tizmaylo => kgv |
2019-03-27 10:09 |
|
Status | assigned => resolved |
2019-03-27 12:03 | kgv | Note Added: 0083264 | |
2019-03-27 12:03 | kgv | Assigned To | kgv => tizmaylo |
2019-03-27 12:03 | kgv | Status | resolved => assigned |
2019-03-27 12:04 | kgv | Note Edited: 0083264 | |
2019-03-27 12:07 | kgv | Note Added: 0083265 | |
2019-03-27 12:08 | kgv | Note Edited: 0083265 | |
2019-03-28 12:49 | git | Note Added: 0083277 | |
2019-03-28 14:41 |
|
Note Added: 0083279 | |
2019-03-28 14:41 |
|
Assigned To | tizmaylo => kgv |
2019-03-28 14:41 |
|
Status | assigned => resolved |
2019-04-09 09:12 | kgv | Assigned To | kgv => msv |
2019-04-09 12:57 |
|
Note Added: 0083560 | |
2019-04-09 12:57 |
|
Assigned To | msv => tizmaylo |
2019-04-09 12:57 |
|
Status | resolved => assigned |
2019-04-09 13:04 | kgv | Note Added: 0083561 | |
2019-04-09 13:04 | kgv | Note Edited: 0083561 | |
2019-04-09 13:11 |
|
Note Added: 0083564 | |
2019-04-09 13:12 |
|
Assigned To | tizmaylo => msv |
2019-04-09 13:12 |
|
Status | assigned => resolved |
2019-04-09 13:12 |
|
Note Added: 0083565 | |
2019-04-09 13:12 |
|
Assigned To | msv => bugmaster |
2019-04-09 13:12 |
|
Status | resolved => reviewed |
2019-04-09 13:17 | kgv | Note Added: 0083567 | |
2019-04-09 13:17 | kgv | Assigned To | bugmaster => tizmaylo |
2019-04-09 13:17 | kgv | Status | reviewed => assigned |
2019-04-09 13:18 | kgv | Note Edited: 0083567 | |
2019-04-09 16:15 |
|
Note Added: 0083578 | |
2019-04-09 17:43 | git | Note Added: 0083583 | |
2019-04-09 17:45 | git | Note Added: 0083584 | |
2019-04-10 10:48 |
|
Note Added: 0083596 | |
2019-04-10 10:48 |
|
Assigned To | tizmaylo => msv |
2019-04-10 10:48 |
|
Status | assigned => resolved |
2019-04-10 11:26 |
|
Note Added: 0083598 | |
2019-04-10 11:26 |
|
Assigned To | msv => bugmaster |
2019-04-10 11:26 |
|
Status | resolved => reviewed |
2019-04-10 18:51 | bugmaster | Test case number | => bugs/modalg_7/bug30597 |
2019-04-10 18:52 | bugmaster | Test case number | bugs/modalg_7/bug30597 => |
2019-04-11 08:06 | bugmaster | Note Added: 0083625 | |
2019-04-11 08:07 | bugmaster | Assigned To | bugmaster => tizmaylo |
2019-04-11 08:07 | bugmaster | Status | reviewed => assigned |
2019-04-11 08:18 | bugmaster | Note Edited: 0083625 | |
2019-04-11 10:31 | kgv | Note Added: 0083628 | |
2019-04-11 10:49 | kgv | Note Added: 0083629 | |
2019-04-11 11:43 | git | Note Added: 0083631 | |
2019-04-11 11:46 |
|
Note Added: 0083632 | |
2019-04-11 11:46 |
|
Note Edited: 0083632 | |
2019-04-11 11:58 |
|
Assigned To | tizmaylo => bugmaster |
2019-04-11 11:58 |
|
Status | assigned => resolved |
2019-04-11 11:58 |
|
Status | resolved => reviewed |
2019-04-12 18:34 | git | Note Added: 0083679 | |
2019-04-12 18:39 |
|
Note Added: 0083680 | |
2019-04-13 14:50 | bugmaster | Note Added: 0083688 | |
2019-04-13 14:50 | bugmaster | Assigned To | bugmaster => tizmaylo |
2019-04-13 14:50 | bugmaster | Status | reviewed => assigned |
2019-04-15 13:17 | git | Note Added: 0083753 | |
2019-04-15 13:18 | git | Note Added: 0083754 | |
2019-04-15 18:29 |
|
Note Added: 0083763 | |
2019-04-15 18:30 |
|
Assigned To | tizmaylo => bugmaster |
2019-04-15 18:30 |
|
Status | assigned => feedback |
2019-04-16 10:21 | bugmaster | Note Added: 0083768 | |
2019-04-16 10:22 | bugmaster | Assigned To | bugmaster => tizmaylo |
2019-04-16 10:22 | bugmaster | Status | feedback => assigned |
2019-04-16 10:37 | kgv | Note Added: 0083769 | |
2019-04-16 10:38 | kgv | Note Edited: 0083769 | |
2019-04-16 10:49 | kgv | Note Edited: 0083769 | |
2019-04-16 10:49 | kgv | Note Edited: 0083769 | |
2019-04-16 12:55 | git | Note Added: 0083783 | |
2019-04-16 12:55 | git | Note Added: 0083784 | |
2019-04-16 14:02 | git | Note Added: 0083787 | |
2019-04-16 14:02 | git | Note Added: 0083788 | |
2019-04-16 14:50 | git | Note Added: 0083790 | |
2019-04-16 14:50 | git | Note Added: 0083791 | |
2019-04-16 16:37 |
|
Note Added: 0083799 | |
2019-04-16 16:38 |
|
Assigned To | tizmaylo => kgv |
2019-04-16 16:38 |
|
Status | assigned => resolved |
2019-04-16 16:43 | kgv | Assigned To | kgv => bugmaster |
2019-04-16 16:43 | kgv | Status | resolved => reviewed |
2019-04-16 18:28 | bugmaster | Note Added: 0083802 | |
2019-04-16 18:28 | bugmaster | Status | reviewed => tested |
2019-04-16 20:28 | bugmaster | Note Added: 0083805 | |
2019-04-16 20:28 | bugmaster | Assigned To | bugmaster => tizmaylo |
2019-04-16 20:28 | bugmaster | Status | tested => assigned |
2019-04-16 21:42 | bugmaster | Assigned To | tizmaylo => abv |
2019-04-16 21:42 | bugmaster | Status | assigned => resolved |
2019-04-16 21:42 | bugmaster | Assigned To | abv => bugmaster |
2019-04-16 21:42 | bugmaster | Status | resolved => reviewed |
2019-04-16 21:43 | bugmaster | Status | reviewed => tested |
2019-04-17 12:22 |
|
Note Added: 0083822 | |
2019-04-17 12:22 |
|
Status | tested => feedback |
2019-04-17 14:15 | bugmaster | Note Added: 0083825 | |
2019-04-17 14:15 | bugmaster | Test case number | => not required |
2019-04-17 15:58 | bugmaster | Status | feedback => tested |
2019-04-21 10:55 | bugmaster | Changeset attached | => occt master 2b2be3fb |
2019-04-21 10:55 | bugmaster | Status | tested => verified |
2019-04-21 10:55 | bugmaster | Resolution | open => fixed |
2019-04-21 11:06 | git | Note Added: 0083902 | |
2019-04-21 11:06 | git | Note Added: 0083903 | |
2019-04-21 11:06 | git | Note Added: 0083905 | |
2019-04-21 11:06 | git | Note Added: 0083906 | |
2019-04-21 11:06 | git | Note Added: 0083907 | |
2019-04-30 14:50 | kgv | Relationship added | related to 0030551 |
2019-05-17 16:24 | kgv | Relationship added | parent of 0030718 |
2019-05-20 12:42 | kgv | Relationship added | parent of 0030720 |