]> git.sur5r.net Git - i3/i3/commit
tree_append_json: Allow strings that are not valid UTF8 3391/head
authorOrestis Floros <orestisf1993@gmail.com>
Thu, 6 Sep 2018 11:54:27 +0000 (14:54 +0300)
committerOrestis Floros <orestisf1993@gmail.com>
Thu, 6 Sep 2018 11:58:31 +0000 (14:58 +0300)
commitbe6faa31617e3da2fc5c4af43821e9d76dc6d5ac
tree11a013bba1eb3a0d438b0657a2e377d20b7f14ca
parente8d2b9b7b53b12f81d019b856c54ed2225ec820c
tree_append_json: Allow strings that are not valid UTF8

Fixes #3156.

I couldn't reproduce the problem in a "natural" way so I cheated:
1. Start i3 with gdb
2. Set breakpoing on tree_restore
3. Run, open window, i3-msg restart
5. Open the file in *path with a hex editor
6. Edit the "name" field of the window and insert bytes that are not
valid UTF8
7. Continue

After parsing fails, all nodes including croot are incomplete, meaning
they have to be deleted. We can't recover in any reasonable way so we
have to allow non-UTF8 characters to avoid this situation altogether.
src/load_layout.c