errno = dest->copy_input->stream_errno;
fs_set_error(dest->fs, "read(%s) failed: %m",
i_stream_get_name(dest->copy_input));
+ i_stream_unref(&dest->copy_input);
+ fs_write_stream_abort(dest, &dest->copy_output);
return -1;
}
if (dest->copy_output->stream_errno != 0) {
errno = dest->copy_output->stream_errno;
fs_set_error(dest->fs, "write(%s) failed: %m",
o_stream_get_name(dest->copy_output));
+ i_stream_unref(&dest->copy_input);
+ fs_write_stream_abort(dest, &dest->copy_output);
return -1;
}
if (!dest->copy_input->eof) {