dovecot-2.2: lib-compression: Compression ostreams may have caus...
dovecot at dovecot.org
dovecot at dovecot.org
Thu Jul 3 18:57:11 UTC 2014
details: http://hg.dovecot.org/dovecot-2.2/rev/00b3aa3842b7
changeset: 17591:00b3aa3842b7
user: Timo Sirainen <tss at iki.fi>
date: Thu Jul 03 21:55:31 2014 +0300
description:
lib-compression: Compression ostreams may have caused parent ostream to use too much memory.
diffstat:
src/lib-compression/ostream-bzlib.c | 2 ++
src/lib-compression/ostream-lzma.c | 2 ++
src/lib-compression/ostream-zlib.c | 3 +++
3 files changed, 7 insertions(+), 0 deletions(-)
diffs (37 lines):
diff -r 5740cb57d02c -r 00b3aa3842b7 src/lib-compression/ostream-bzlib.c
--- a/src/lib-compression/ostream-bzlib.c Thu Jul 03 21:54:52 2014 +0300
+++ b/src/lib-compression/ostream-bzlib.c Thu Jul 03 21:55:31 2014 +0300
@@ -113,6 +113,8 @@
if (zstream->flushed)
return 0;
+ if ((ret = o_stream_flush_parent_if_needed(&zstream->ostream)) <= 0)
+ return ret;
if ((ret = o_stream_zlib_send_outbuf(zstream)) <= 0)
return ret;
diff -r 5740cb57d02c -r 00b3aa3842b7 src/lib-compression/ostream-lzma.c
--- a/src/lib-compression/ostream-lzma.c Thu Jul 03 21:54:52 2014 +0300
+++ b/src/lib-compression/ostream-lzma.c Thu Jul 03 21:55:31 2014 +0300
@@ -119,6 +119,8 @@
if (zstream->flushed)
return 0;
+ if ((ret = o_stream_flush_parent_if_needed(&zstream->ostream)) <= 0)
+ return ret;
if ((ret = o_stream_zlib_send_outbuf(zstream)) <= 0)
return ret;
diff -r 5740cb57d02c -r 00b3aa3842b7 src/lib-compression/ostream-zlib.c
--- a/src/lib-compression/ostream-zlib.c Thu Jul 03 21:54:52 2014 +0300
+++ b/src/lib-compression/ostream-zlib.c Thu Jul 03 21:55:31 2014 +0300
@@ -181,6 +181,9 @@
if (zstream->flushed)
return 0;
+
+ if ((ret = o_stream_flush_parent_if_needed(&zstream->ostream)) <= 0)
+ return ret;
if (!zstream->header_sent) {
if (o_stream_zlib_send_gz_header(zstream) < 0)
return -1;
More information about the dovecot-cvs
mailing list