Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Filesystem builder produces invalid structures if filename contains U…
…TF8-encoded characters. (#2945) The FWFS filesystem builder (python) produces invalid structures if filename contains UTF8-encoded characters. The length was based on the uncounted text (uni code) so will be smaller than the actual filename. For example, `CharactersÄÖÜß.txt` is 18 unicode characters, but Ä, Ö, Ü and ß each require two bytes when encoded as UTF8 so stores 22 characters. The FWFS structures store this as a counted string with length 18 so the extraneous 4 bytes are interpreted as part of the following data which results in an unreadable filesystem image. This PR fixes the length calculation using the encoded text. Note that the IFS C++ code treats filenames as opaque binary strings so is not affected by this bug.
- Loading branch information