aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/imap/IMAPFolder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/imap/IMAPFolder.cpp')
-rw-r--r--src/net/imap/IMAPFolder.cpp6
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())
{