Mercurial > dovecot > core-2.2
changeset 22889:51c7b591cd20
lib-dcrypt: istream-decrypt - Read more if buffer is empty
If there is no more buffered data, try to decrypt more.
- Fixes Panic: file istream.c: line 192 (i_stream_read): assertion failed: (!stream->blocking)
- Fixes infinite loop when stream is not blocking
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Mon, 12 Mar 2018 14:48:41 +0200 |
parents | 2934b16c4b5b |
children | 29cb00415262 |
files | src/lib-dcrypt/istream-decrypt.c |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-dcrypt/istream-decrypt.c Thu Mar 01 12:17:16 2018 +0200 +++ b/src/lib-dcrypt/istream-decrypt.c Mon Mar 12 14:48:41 2018 +0200 @@ -671,7 +671,8 @@ bytes = new_pos - stream->pos; stream->pos = new_pos; - return (ssize_t)bytes; + if (bytes > 0) + return (ssize_t)bytes; } if (dstream->finalized) { /* all data decrypted */