View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002462 | NoesisGUI | C++ SDK | public | 2022-11-17 18:57 | 2022-11-18 01:13 |
| Reporter | AnKor | Assigned To | jsantos | ||
| Priority | normal | Severity | crash | ||
| Status | resolved | Resolution | fixed | ||
| Product Version | 3.1.5 | ||||
| Target Version | 3.1.6 | Fixed in Version | 3.1.6 | ||
| Summary | 0002462: Memory corruption in Noesis::String::Replace | ||||
| Description | String::Replace does not increase capacity when replacement string is larger than the number of replaced characters (e.g. when "inserts > removes"). There's a simple workaround (either call Reserve before Replace or use Erase + Insert combo), but the bug seems pretty major and non-obvious. | ||||
| Steps To Reproduce | A simple code snippet: Results in the following state: and potentially corrupts adjacent data on the stack. | ||||
| Platform | Any | ||||
|
Thanks for catching this! Patch fixing the issue:
Index: String.inl --- String.inl (revision 11729)
|
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2022-11-17 18:57 | AnKor | New Issue | |
| 2022-11-17 18:57 | AnKor | Steps to Reproduce Updated | |
| 2022-11-17 21:02 | jsantos | Assigned To | => jsantos |
| 2022-11-17 21:02 | jsantos | Status | new => assigned |
| 2022-11-17 21:02 | jsantos | Target Version | => 3.1.6 |
| 2022-11-18 01:13 | jsantos | Status | assigned => resolved |
| 2022-11-18 01:13 | jsantos | Resolution | open => fixed |
| 2022-11-18 01:13 | jsantos | Fixed in Version | => 3.1.6 |
| 2022-11-18 01:13 | jsantos | Note Added: 0008165 |