"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/lib-program-client/program-client-remote.c" between
dovecot-2.3.16.tar.gz and dovecot-2.3.17.tar.gz

About: Dovecot is an IMAP and POP3 server, written with security primarily in mind.

program-client-remote.c  (dovecot-2.3.16):program-client-remote.c  (dovecot-2.3.17)
skipping to change at line 162 skipping to change at line 162
} }
ssize_t reserve_mod = 0; ssize_t reserve_mod = 0;
if (stream->buffer != NULL && pos >= 1) { if (stream->buffer != NULL && pos >= 1) {
/* Retain/hide potential return code at end of /* Retain/hide potential return code at end of
buffer */ buffer */
size_t old_reserved = reserved; size_t old_reserved = reserved;
reserved = (stream->buffer[pos - 1] == '\n' && reserved = (stream->buffer[pos - 1] == '\n' &&
pos > 1 ? 2 : 1); pos > 1 ? 2 : 1);
reserve_mod = reserved - old_reserved; reserve_mod = (ssize_t)reserved - (ssize_t)old_re served;
pos -= reserved; pos -= reserved;
} }
if (ret == 0) { if (ret == 0) {
/* Parent already blocked, but we had to update /* Parent already blocked, but we had to update
pos first, to make sure reserved bytes are pos first, to make sure reserved bytes are
not visible to application. */ not visible to application. */
break; break;
} }
if (ret >= reserve_mod) { if (ret > 0 && ret >= reserve_mod) {
/* Subtract additional reserved bytes */ /* Subtract additional reserved bytes */
ret -= reserve_mod; ret -= reserve_mod;
} }
if (ret <= 0 && stream->parent->eof) { if (ret <= 0 && stream->parent->eof) {
/* Parent EOF and not more data to return; /* Parent EOF and not more data to return;
EOF here as well */ EOF here as well */
i_assert(scstream->parsed_result); i_assert(scstream->parsed_result);
if (pos == 0) if (pos == 0)
i_stream_skip(stream->parent, reserved); i_stream_skip(stream->parent, reserved);
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)