Skip to content
This repository has been archived by the owner. It is now read-only.

Our ProcesssXxxSectorList's are broken #444

Closed
erorcun opened this issue Apr 15, 2020 · 1 comment
Closed

Our ProcesssXxxSectorList's are broken #444

erorcun opened this issue Apr 15, 2020 · 1 comment

Comments

@erorcun
Copy link
Collaborator

@erorcun erorcun commented Apr 15, 2020

Game is guaranteed to crash if you spawn many tanks at once(you can try entering the tank cheat in pause menu continuously), which doesn't happen in original game.

Reason is a buffer overflow in CCollision::ProcessColModels, numCollisions exceeds the size of spherepoints(32) and ProcessSphereXxx causes buffer overflow, but those functions are actually ok.
Problem is in both ProcessShiftSectorList and ProcessCollisionSectorList, I remove hooks to them and the problem is solved.

This is not an original bug which doesn't throw exception, because overflow happens in ProcessColModels but if I use game's ProcessXxxSectorList and our ProcessColModels, overflow doesn't happen.

@erorcun
Copy link
Collaborator Author

@erorcun erorcun commented Apr 15, 2020

Wrong alarm, sorry. it's also broken in vanilla. Fixed with #446

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant