Commit ddcd288
authored
Filesystem builder produces invalid structures if filename contains UTF8-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.1 parent aa91b31 commit ddcd288
1 file changed
+1
-1
lines changed
0 commit comments