https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70893
--- Comment #1 from Кирилл <kirillnow at gmail dot com> --- Bad guess on my part, sorry! Actual problem is: 305: else if (is_low_surrogate(c)) 306: return invalid_mb_sequence; Stand-alone low surrogates are not uncommon, and could be decoded as valid utf-8. Example: Thorn U+00DE Þ Encoded by [iconv (GNU libc) 2.23] -> c=0xDE00