Commit 6e77ee09 authored by Matthias Clasen's avatar Matthias Clasen

Correct the error handling in splice_stream_with_progress

We need to get out of both loops, so a simple 'break' doesn't cut it.
Bugs 613748 and 613923
parent 409a3a61
......@@ -2826,10 +2826,10 @@ splice_stream_with_progress (GInputStream *in,
while (n_read > 0)
{
if (g_cancellable_set_error_if_cancelled (cancellable, error))
break;
goto out;
if (!do_splice (buffer[0], NULL, fd_out, &offset_out, n_read, &n_written, error))
break;
goto out;
n_read -= n_written;
}
......@@ -2842,6 +2842,7 @@ splice_stream_with_progress (GInputStream *in,
if (progress_callback)
progress_callback (offset_in, total_size, progress_callback_data);
out:
close (buffer[0]);
close (buffer[1]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment