Updating PO file when string was moved to another file crashes
Original Reporter info from Mantis: cobines
-
Reporter name:
Original Reporter info from Mantis: cobines
- Reporter name:
Description:
When a string is moved to another file then updating PO file at the end of building a project crashes.
There's a hashlist FOriginalToItem that maps string to item. When old entries are removed from PO file they are freed but not removed from FOriginalToItem. Next time the same string is encountered (in another file) an already-freed pointer is accessed. Removing is commented out:
lcl/translations.pas lines 509, 1043
//FOriginalToItem.Remove(Item.Original); // isn't this tricky?
Steps to reproduce:
Open the example project and try to build, it will crash.
Mantis conversion info:
- Mantis ID: 21615
- OS: Windows XP
- OS Build: SP3
- Build: 36476
- Platform: Win32
- Version: 0.9.31 (SVN)
- Fixed in revision: 36479 (#d9645f42)