From 96af958603943dabf505c3b41f0ea608c25e08ec Mon Sep 17 00:00:00 2001 From: John Hiesey Date: Wed, 7 Oct 2015 17:34:17 -0700 Subject: [PATCH] goutputstream: Report input stream read failure correctly When G_OUTPUT_STREAM_CLOSE_TARGET is set, g_output_stream_real_splice was not returning -1 in any error cases, since the success flag was being overwritten. https://bugzilla.gnome.org/show_bug.cgi?id=756255 (cherry picked from commit 16e0a5a886c60a648e74afd12c0cbeeb58d6d522) --- gio/goutputstream.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gio/goutputstream.c b/gio/goutputstream.c index 035465db3..1816e8d54 100644 --- a/gio/goutputstream.c +++ b/gio/goutputstream.c @@ -605,7 +605,8 @@ g_output_stream_real_splice (GOutputStream *stream, if (flags & G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET) { /* But write errors on close are bad! */ - res = g_output_stream_internal_close (stream, cancellable, error); + if (!g_output_stream_internal_close (stream, cancellable, error)) + res = FALSE; } if (res)