dovecot-2.2: lib-http server: If i/ostream fails, don't return w...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Oct 25 23:00:07 UTC 2014
details: http://hg.dovecot.org/dovecot-2.2/rev/5cd30ecff35d
changeset: 18023:5cd30ecff35d
user: Timo Sirainen <tss at iki.fi>
date: Sun Oct 26 01:59:05 2014 +0300
description:
lib-http server: If i/ostream fails, don't return wrong "stream input size changed" error.
Also handle the real case in a bit nicer way.
diffstat:
src/lib-http/http-server-response.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diffs (20 lines):
diff -r e5c58f244c5b -r 5cd30ecff35d src/lib-http/http-server-response.c
--- a/src/lib-http/http-server-response.c Sat Oct 25 22:18:07 2014 +0000
+++ b/src/lib-http/http-server-response.c Sun Oct 26 01:59:05 2014 +0300
@@ -259,10 +259,12 @@
}
if (ret < 0 || i_stream_is_eof(resp->payload_input)) {
- if (!resp->payload_chunked &&
- resp->payload_input->v_offset - resp->payload_offset != resp->payload_size) {
- i_error("stream input size changed"); //FIXME
- return -1;
+ if (ret >= 0 && !resp->payload_chunked &&
+ resp->payload_input->v_offset - resp->payload_offset != resp->payload_size) {
+ *error_r = t_strdup_printf(
+ "Input stream %s size changed unexpectedly",
+ i_stream_get_name(resp->payload_input));
+ ret = -1;
}
http_server_response_finish_payload_out(resp);
More information about the dovecot-cvs
mailing list