-
-
Notifications
You must be signed in to change notification settings - Fork 958
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash: loading save #6564
Comments
andythenorth wrote:
This comment was imported from FlySpray: https://bugs.openttd.org/task/6564#comment14520 |
This issue has been automatically marked as stale because it has not had any activity in the last two months. |
Crash still reproduced with master. Invalid unicode in sign, or memory/data corruption? Curiously, I can confirm andy's find as well - deleting Australian_Industries_Set_AuzInd-6.tar allows to save to load
|
This is a bug in the NewGRF, however we should probably not crash. |
So the issue is the content Australian_Industries_Set_AuzInd-6.tar has an invalid string for nearby station name for an industry which includes two \80 control codes instead of just one. This control code consumes an argument and, because it treats that argument as a pointer to a string, leads to undefined behaviour because it's meant to be a station index. I have a patch that tests NewGRF strings for correct control codes, but it's a bit unwieldy, and relies on knowledge of which control codes are permitted in different properties. Quite a lot of effort. TL;DR it's a effectively just a format string bug (but using our string system formatting) |
Brumi opened the ticket and wrote:
Attachments
Reported version: 1.7.0
Operating system: All
This issue was imported from FlySpray: https://bugs.openttd.org/task/6564
The text was updated successfully, but these errors were encountered: