mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
external data (and in bad cases our own) can contain invalid byte sequences in UTF8 strings. A prominent example are file names. There was a 1-off bug in calculating the allowed length for multibyte chars, and the iterator was a bit too greedy when stumbling upon invalid sequences, returning a single "invalid" char for a sequence up to the point where it became invalid in calculation. Now, we present one invalid char for the first byte of that sequence and then check for a valid char starting with the next byte.