UTF-8 validation is stopped by a NUL byte in g_data_input_stream_read_line_*utf8()
Submitted by Mikhail Zabaluev
The implementation of g_data_input_stream_read_line_utf8() and g_data_input_stream_read_finish_utf8() calls g_utf8_validate() to validate the data read. Unfortunately, it is called with -1 for length, which makes it only go as far as the first NUL byte. If this NUL byte is embedded in the input, the NUL and the rest of the line buffer is passed unvalidated to the client.