View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0004990 | AI | AI | public | 2015-11-06 13:29 | 2015-11-08 13:55 | ||||
Reporter | lamer | ||||||||
Assigned To | abma | ||||||||
Priority | normal | Severity | crash | Reproducibility | random | ||||
Status | resolved | Resolution | fixed | ||||||
Summary | 0004990: [KAIK] Possible memory corruption | ||||||||
Description | I assume MicroPather has wrong boundary test and thus leads to memory corruption or endless loops. | ||||||||
Steps To Reproduce | Spawn KAIK's units at the map edge. Hope for the best. | ||||||||
Additional Information | https://github.com/spring/KAIK/blob/3e99fa1360d8e0e9a1c8a125a5c655daa77aa5ee/MicroPather.cpp#L330 https://github.com/spring/KAIK/blob/3e99fa1360d8e0e9a1c8a125a5c655daa77aa5ee/MicroPather.cpp#L370 Those 2 places should look like: if (x == 0) x = 1; else if (x == mapSizeX - 1) x = mapSizeX - 2; if (y == 0) y = 1; else if (y == mapSizeY - 1) y = mapSizeY - 2; Or even use (x<=0) ... (x>=mapSizeX-1) ? | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
![]() |
|
abma (administrator) 2015-11-08 13:54 Last edited: 2015-11-08 13:55 |
https://github.com/spring/KAIK/commit/fc45865422d9365c96cf74ab07d015c3f89a4526 |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2015-11-06 13:29 | lamer | New Issue | |
2015-11-08 13:54 | abma | Note Added: 0015320 | |
2015-11-08 13:54 | abma | Status | new => resolved |
2015-11-08 13:54 | abma | Resolution | open => fixed |
2015-11-08 13:54 | abma | Assigned To | => abma |
2015-11-08 13:55 | abma | Note Edited: 0015320 | View Revisions |