MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030550Community[OCCT] OCCT:Foundation Classespublic2019-03-09 17:422019-05-20 12:42
Reportergalbramc 
Assigned Tobugmaster 
PrioritynormalSeveritymajor 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.3.0 
Target Version[OCCT] 7.4.0Fixed in Version 
Summary0030550: Coding - Integer overflow in Standard_CString HashCodes
DescriptionI 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 ReproduceCompile OCCT with a g++ newer than 4.9 with the -fsanitize=undefined compiler flag and run the test suite.
TagsNo tags attached.
Test case numbernot required
Attached Filestgz file icon Standard_CString_HashCode.tgz (916 bytes) 2019-03-25 19:46

- Relationships
parent of 0030718verifiedbugmaster Open CASCADE Foundation Classes, TColStd_PackedMapOfInteger - broken triangulation within 32-bit builds 
parent of 0030720verifiedbugmaster Open CASCADE Coding - fix HashCode() function problems that are not resolved with 30550 
related to 0030608newkgv Open CASCADE Foundation Classes - Undefined behavior caused by overflow in arithmetic operations with signed integers in HashCode() functions 
related to 0030551verifiedbugmaster Community Foundation Classes - Integer overflow in NCollection_CellFilter HashCode 
child of 0030557newkgv Open CASCADE Coding - eliminate errors reported by -fsanitize 

-  Notes
(0083202)
git (administrator)
2019-03-22 19:38

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.
(0083211)
galbramc (reporter)
2019-03-24 23:08

Is casting the 'unsigned int' back to 'int' really safe here? I'm concerned that the issue is just being delayed rather than resolved...
(0083215)
tizmaylo (developer)
2019-03-25 11:01

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?
(0083220)
git (administrator)
2019-03-25 12:02

Branch CR30550 has been updated forcibly by tizmaylo.

SHA-1: 075515231ae1e33b04e10dc073ac4b273af95f5e
(0083225)
galbramc (reporter)
2019-03-25 19:50

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.
(0083230)
git (administrator)
2019-03-26 12:36

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.

(0083233)
tizmaylo (developer)
2019-03-26 14:33

Dear galbramc,

it looks like you are right, negative values of hash codes are not allowed. Thank you for the provided examples!
(0083235)
galbramc (reporter)
2019-03-26 14:46

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...
(0083237)
tizmaylo (developer)
2019-03-26 14:54

Patch is ready for review:
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30550-master-TIV/view/ALL/ [^]
(0083244)
kgv (developer)
2019-03-26 16:31

-      return aCode % theUpper;
+      return static_cast<Standard_Integer>(aCode & INT_MAX) % theUpper;

IntegerLast() alias is preferred over INT_MAX.

And please squash commits.
(0083260)
git (administrator)
2019-03-26 20:19

Branch CR30550 has been updated forcibly by tizmaylo.

SHA-1: 77cf58aeb1fad650fdb953d7d4f6ef0a6a075251
(0083261)
tizmaylo (developer)
2019-03-27 10:09

Patch is ready for review:
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30550-master-TIV/view/ALL/ [^]
(0083264)
kgv (developer)
2019-03-27 12:03
edited on: 2019-03-27 12:04

@@ -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.

(0083265)
kgv (developer)
2019-03-27 12:07
edited on: 2019-03-27 12:08

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;


(0083277)
git (administrator)
2019-03-28 12:49

Branch CR30550 has been updated forcibly by tizmaylo.

SHA-1: 63e17307c4fd089ebc41569182cc710b24421f69
(0083279)
tizmaylo (developer)
2019-03-28 14:41

Patch is ready for review:
http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30550-master-TIV/view/ALL/ [^]
(0083560)
msv (developer)
2019-04-09 12:57

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.
(0083561)
kgv (developer)
2019-04-09 13:04
edited on: 2019-04-09 13:04

> 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].

(0083564)
msv (developer)
2019-04-09 13:11

Oh, yes, then nothing needs to be changed.
(0083565)
msv (developer)
2019-04-09 13:12

Reviewed.
(0083567)
kgv (developer)
2019-04-09 13:17
edited on: 2019-04-09 13:18

> 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.

(0083578)
msv (developer)
2019-04-09 16:15

NCollection_Map has got its behavior from TCollection_Map, it was so always.
(0083583)
git (administrator)
2019-04-09 17:43

Branch CR30550 has been updated forcibly by tizmaylo.

SHA-1: f9902d092e07623b54fc3d7488e9b5c40fc93e8b
(0083584)
git (administrator)
2019-04-09 17:45

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.
(0083596)
tizmaylo (developer)
2019-04-10 10:48

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
(0083598)
msv (developer)
2019-04-10 11:26

Reviewed.
(0083625)
bugmaster (administrator)
2019-04-11 08:06
edited on: 2019-04-11 08:18

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/ [^]

(0083628)
kgv (developer)
2019-04-11 10:31

There is a merge conflict with patch for 0030618.
Please rebase the patch onto current IR (or CR30618) manually.
(0083629)
kgv (developer)
2019-04-11 10:49

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);
(0083631)
git (administrator)
2019-04-11 11:43

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.
(0083632)
tizmaylo (developer)
2019-04-11 11:46
edited on: 2019-04-11 11:46

Changes from CR30550_1 are moved onto IR-WEEK15. The result is at the new branch CR30550_2.

(0083679)
git (administrator)
2019-04-12 18:34

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
(0083680)
tizmaylo (developer)
2019-04-12 18:39

VC9 compile error is fixed. Look at the new branch CR30550_3.
(0083688)
bugmaster (administrator)
2019-04-13 14:50

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/ [^]
(0083753)
git (administrator)
2019-04-15 13:17

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.
(0083754)
git (administrator)
2019-04-15 13:18

Branch CR30550 has been updated forcibly by tizmaylo.

SHA-1: e5de62fbd430b28418fc9050ad3961aa03a7c3e7
(0083763)
tizmaylo (developer)
2019-04-15 18:29

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.
(0083768)
bugmaster (administrator)
2019-04-16 10:21

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
(0083769)
kgv (developer)
2019-04-16 10:37
edited on: 2019-04-16 10:49

 #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;


(0083783)
git (administrator)
2019-04-16 12:55

Branch CR30550_4 has been updated forcibly by tizmaylo.

SHA-1: 8ab6abdb5167179dd4b40b55a92788b9f4281349
(0083784)
git (administrator)
2019-04-16 12:55

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.

(0083787)
git (administrator)
2019-04-16 14:02

Branch CR30550 has been updated forcibly by tizmaylo.

SHA-1: 73d1d3ce7a1b4c1847e1ff864675afbc9b9a52d4
(0083788)
git (administrator)
2019-04-16 14:02

Branch CR30550_4 has been updated forcibly by tizmaylo.

SHA-1: 69c72aaacf059878c0fc2885b590355e95fc298d
(0083790)
git (administrator)
2019-04-16 14:50

Branch CR30550 has been updated forcibly by tizmaylo.

SHA-1: 1f4e8b3c19072095051625d15985ccc8463f80c6
(0083791)
git (administrator)
2019-04-16 14:50

Branch CR30550_4 has been updated forcibly by tizmaylo.

SHA-1: 12c8972c6dbc33e577a030af6a0f059ed09bd3fb
(0083799)
tizmaylo (developer)
2019-04-16 16:37

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
(0083802)
bugmaster (administrator)
2019-04-16 18:28

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
(0083805)
bugmaster (administrator)
2019-04-16 20:28

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.
(0083822)
tizmaylo (developer)
2019-04-17 12:22

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.
(0083825)
bugmaster (administrator)
2019-04-17 14:15

Results of testing

http://jenkins-test-08.nnov.opencascade.com/view/IR-WEEK16_IR-WEEK16-1/view/PRODUCTS%20compile/ [^]
(0083902)
git (administrator)
2019-04-21 11:06

Branch CR30550_4 has been deleted by inv.

SHA-1: 12c8972c6dbc33e577a030af6a0f059ed09bd3fb
(0083903)
git (administrator)
2019-04-21 11:06

Branch CR30550 has been deleted by inv.

SHA-1: 1f4e8b3c19072095051625d15985ccc8463f80c6
(0083905)
git (administrator)
2019-04-21 11:06

Branch CR30550_3 has been deleted by inv.

SHA-1: 0e858ba2677b051c1d2e17cdd2059e50371fb1a5
(0083906)
git (administrator)
2019-04-21 11:06

Branch CR30550_2 has been deleted by inv.

SHA-1: 98fd5ae264dfc0b4dc5c633616caced16cd2df07
(0083907)
git (administrator)
2019-04-21 11:06

Branch CR30550_1 has been deleted by inv.

SHA-1: d906feb9af0de05e2275a99fb0ed90848e3c6d25

- Related Changesets
occt: master 2b2be3fb
Timestamp: 2019-03-28 09:42:41
Author: 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.
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 ]

- Issue History
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 tizmaylo 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 tizmaylo Note Added: 0083233
2019-03-26 14:46 galbramc Note Added: 0083235
2019-03-26 14:54 tizmaylo Note Added: 0083237
2019-03-26 14:55 tizmaylo Assigned To tizmaylo => kgv
2019-03-26 14:55 tizmaylo Status assigned => resolved
2019-03-26 15:14 tizmaylo 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 tizmaylo Note Added: 0083261
2019-03-27 10:09 tizmaylo Assigned To tizmaylo => kgv
2019-03-27 10:09 tizmaylo 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 View Revisions
2019-03-27 12:07 kgv Note Added: 0083265
2019-03-27 12:08 kgv Note Edited: 0083265 View Revisions
2019-03-28 12:49 git Note Added: 0083277
2019-03-28 14:41 tizmaylo Note Added: 0083279
2019-03-28 14:41 tizmaylo Assigned To tizmaylo => kgv
2019-03-28 14:41 tizmaylo Status assigned => resolved
2019-04-09 09:12 kgv Assigned To kgv => msv
2019-04-09 12:57 msv Note Added: 0083560
2019-04-09 12:57 msv Assigned To msv => tizmaylo
2019-04-09 12:57 msv Status resolved => assigned
2019-04-09 13:04 kgv Note Added: 0083561
2019-04-09 13:04 kgv Note Edited: 0083561 View Revisions
2019-04-09 13:11 msv Note Added: 0083564
2019-04-09 13:12 msv Assigned To tizmaylo => msv
2019-04-09 13:12 msv Status assigned => resolved
2019-04-09 13:12 msv Note Added: 0083565
2019-04-09 13:12 msv Assigned To msv => bugmaster
2019-04-09 13:12 msv 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 View Revisions
2019-04-09 16:15 msv 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 tizmaylo Note Added: 0083596
2019-04-10 10:48 tizmaylo Assigned To tizmaylo => msv
2019-04-10 10:48 tizmaylo Status assigned => resolved
2019-04-10 11:26 msv Note Added: 0083598
2019-04-10 11:26 msv Assigned To msv => bugmaster
2019-04-10 11:26 msv 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 View Revisions
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 tizmaylo Note Added: 0083632
2019-04-11 11:46 tizmaylo Note Edited: 0083632 View Revisions
2019-04-11 11:58 tizmaylo Assigned To tizmaylo => bugmaster
2019-04-11 11:58 tizmaylo Status assigned => resolved
2019-04-11 11:58 tizmaylo Status resolved => reviewed
2019-04-12 18:34 git Note Added: 0083679
2019-04-12 18:39 tizmaylo 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 tizmaylo Note Added: 0083763
2019-04-15 18:30 tizmaylo Assigned To tizmaylo => bugmaster
2019-04-15 18:30 tizmaylo 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 View Revisions
2019-04-16 10:49 kgv Note Edited: 0083769 View Revisions
2019-04-16 10:49 kgv Note Edited: 0083769 View Revisions
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 tizmaylo Note Added: 0083799
2019-04-16 16:38 tizmaylo Assigned To tizmaylo => kgv
2019-04-16 16:38 tizmaylo 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 tizmaylo Note Added: 0083822
2019-04-17 12:22 tizmaylo 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


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker