From 1f0694e51b8c8ed894cf2d7b690c666dc03bb145 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Fri, 28 May 2010 11:00:37 +0200 Subject: [PATCH] Use correct offset for buffer data in GConverterOutputStream Otherwise we overwrite already converted data in the case that more than one call to g_converter_convert is necessary in write() or flush(). https://bugzilla.gnome.org/show_bug.cgi?id=619945 (cherry picked from commit 6858ab20330ec31322dacbbdfaf66838fdcbfb78) --- gio/gconverteroutputstream.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gio/gconverteroutputstream.c b/gio/gconverteroutputstream.c index 7ad8d5e42..f59733d30 100644 --- a/gio/gconverteroutputstream.c +++ b/gio/gconverteroutputstream.c @@ -427,7 +427,7 @@ g_converter_output_stream_write (GOutputStream *stream, res = g_converter_convert (priv->converter, to_convert + converted_bytes, to_convert_size - converted_bytes, - buffer_data (&priv->converted_buffer), + buffer_data (&priv->converted_buffer) + buffer_available (&priv->converted_buffer), buffer_tailspace (&priv->converted_buffer), 0, &bytes_read, @@ -542,7 +542,7 @@ g_converter_output_stream_flush (GOutputStream *stream, res = g_converter_convert (priv->converter, buffer_data (&priv->output_buffer), buffer_available (&priv->output_buffer), - buffer_data (&priv->converted_buffer), + buffer_data (&priv->converted_buffer) + buffer_available (&priv->converted_buffer), buffer_tailspace (&priv->converted_buffer), is_closing ? G_CONVERTER_INPUT_AT_END : G_CONVERTER_FLUSH, &bytes_read,