View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0030608 | Open CASCADE | OCCT:Foundation Classes | public | 2019-03-26 15:14 | 2023-08-01 15:08 |
Reporter | Assigned To | ||||
Priority | normal | Severity | minor | ||
Status | new | Resolution | open | ||
Product Version | 7.3.0 | ||||
Target Version | Unscheduled | ||||
Summary | 0030608: Foundation Classes - Undefined behavior caused by overflow in arithmetic operations with signed integers in HashCode() functions | ||||
Description | There is a number of places in the code of HashCode() functions where an overflow in arithmetic operations with signed integers may possibly occur. E.g., look at BRepMesh_Triangle::HashCode: inline Standard_Integer HashCode(const Standard_Integer theUpper) const { return ::HashCode(myEdges[0] + myEdges[1] + myEdges[2], theUpper); } There are three signed integer that are summed up. If they would big enough, an overflow might occur. But in accordance with the C++ standard a signed integer arithmetic overflow is an undefined behavior. | ||||
Tags | No tags attached. | ||||
Test case number | |||||
Date Modified | Username | Field | Change |
---|---|---|---|
2019-03-26 15:14 |
|
New Issue | |
2019-03-26 15:14 |
|
Assigned To | => kgv |
2019-03-26 15:14 |
|
Relationship added | related to 0030550 |
2019-09-04 18:27 | kgv | Summary | Undefined behavior caused by overflow in arithmetic operations with signed integers in HashCode() functions => Foundation Classes - Undefined behavior caused by overflow in arithmetic operations with signed integers in HashCode() functions |
2019-09-05 04:52 |
|
Target Version | 7.4.0 => 7.5.0 |
2020-08-28 14:31 | kgv | Target Version | 7.5.0 => 7.6.0 |
2021-08-24 15:01 | kgv | Target Version | 7.6.0 => 7.7.0 |
2022-10-19 15:55 |
|
Assigned To | kgv => vpozdyayev |
2022-10-24 10:40 |
|
Target Version | 7.7.0 => 7.8.0 |
2023-08-01 15:08 | dpasukhi | Target Version | 7.8.0 => Unscheduled |