Ensure g_key_file_load_from_file() strips a \r on a 4 KB boundary
authorBenjamin Gilbert <bgilbert@backtick.net>
Thu, 27 Jan 2011 07:04:00 +0000 (02:04 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 28 Jan 2011 04:06:15 +0000 (23:06 -0500)
commit440e6f4a61e27ee95994cd6a57c9d977a4376755
tree9fcbc30b75275e612bd0b02d7c00dae734435083
parente644b29190aaec2cb2239d2541144e313e293020
Ensure g_key_file_load_from_file() strips a \r on a 4 KB boundary

When g_key_file_parse_data() encountered \n, it was checking the previous
character in the current input buffer for a \r to erase, rather than the
previous character in the parse buffer.  If g_key_file_load_from_file()
was given a file with a \r\n sequence straddling a 4 KB boundary, the \n
would be the first character in the input buffer, so the \r would not be
properly stripped.

Bug #640695.

Found-by: Jan Harkes <jaharkes@cs.cmu.edu>
glib/gkeyfile.c