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 |