dovecot-2.2-pigeonhole: Forgot one file in last commit.
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Sun Oct 19 11:37:48 UTC 2014
details: http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/ea047cff5763
changeset: 1931:ea047cff5763
user: Stephan Bosch <stephan at rename-it.nl>
date: Sun Oct 19 13:36:57 2014 +0200
description:
Forgot one file in last commit.
diffstat:
src/lib-managesieve/managesieve-parser.c | 26 +++++++++++++++-----------
1 files changed, 15 insertions(+), 11 deletions(-)
diffs (58 lines):
diff -r bf2531a05b30 -r ea047cff5763 src/lib-managesieve/managesieve-parser.c
--- a/src/lib-managesieve/managesieve-parser.c Sun Oct 19 13:10:27 2014 +0200
+++ b/src/lib-managesieve/managesieve-parser.c Sun Oct 19 13:36:57 2014 +0200
@@ -101,6 +101,7 @@
if ( parser->str_stream != NULL )
i_stream_unref(&parser->str_stream);
+ parser->str_stream = NULL;
}
const char *managesieve_parser_get_error
@@ -634,13 +635,15 @@
if (size == 0) {
ret = i_stream_read(stream->parent);
if (ret <= 0 && (ret != -2 || stream->skip == 0)) {
- if ( stream->istream.eof && stream->istream.stream_errno == 0 ) {
- stream->istream.eof = 0;
- stream->istream.stream_errno = EIO;
- } else {
- stream->istream.stream_errno = stream->parent->stream_errno;
- stream->istream.eof = stream->parent->eof;
+ if ( stream->parent->eof && stream->parent->stream_errno == 0 ) {
+ io_stream_set_error(&stream->iostream,
+ "Quoted string ends without closing quotes");
+ stream->istream.stream_errno = EINVAL;
+ return -1;
}
+
+ stream->istream.stream_errno = stream->parent->stream_errno;
+ stream->istream.eof = stream->parent->eof;
return ret;
}
data = i_stream_get_data(stream->parent, &size);
@@ -671,9 +674,9 @@
slash = FALSE;
} else if ( slash ) {
if ( !IS_QUOTED_SPECIAL(data[i]) ) {
- qsstream->parser->error =
- "Escaped quoted-string character is not a QUOTED-SPECIAL.";
- stream->istream.stream_errno = EIO;
+ io_stream_set_error(&stream->iostream,
+ "Escaped quoted-string character is not a QUOTED-SPECIAL");
+ stream->istream.stream_errno = EINVAL;
ret = -1;
break;
}
@@ -681,8 +684,9 @@
}
if ( (data[i] & 0x80) == 0 && ( data[i] == '\r' || data[i] == '\n' ) ) {
- qsstream->parser->error = "String contains invalid character.";
- stream->istream.stream_errno = EIO;
+ io_stream_set_error(&stream->iostream,
+ "Quoted string contains an invalid character");
+ stream->istream.stream_errno = EINVAL;
ret = -1;
break;
}
More information about the dovecot-cvs
mailing list