diff options
Diffstat (limited to 'src/net/imap/IMAPFolder.cpp')
| -rw-r--r-- | src/net/imap/IMAPFolder.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/net/imap/IMAPFolder.cpp b/src/net/imap/IMAPFolder.cpp index c06a8d43..0122d217 100644 --- a/src/net/imap/IMAPFolder.cpp +++ b/src/net/imap/IMAPFolder.cpp @@ -1284,7 +1284,11 @@ void IMAPFolder::addMessage(utility::inputStream& is, const int size, const int if (progress) progress->start(total); - char buffer[65536]; + const socket::size_type blockSize = std::min(is.getBlockSize(), + static_cast <size_t>(m_connection->getSocket()->getBlockSize())); + + std::vector <char> vbuffer(blockSize); + char* buffer = &vbuffer.front(); while (!is.eof()) { |
