aboutsummaryrefslogtreecommitdiffstats
path: root/src/tls/tls_channel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tls/tls_channel.cpp')
-rw-r--r--src/tls/tls_channel.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/tls/tls_channel.cpp b/src/tls/tls_channel.cpp
index 5e9235f36..6bbb64a5d 100644
--- a/src/tls/tls_channel.cpp
+++ b/src/tls/tls_channel.cpp
@@ -30,6 +30,8 @@ Channel::Channel(std::function<void (const byte[], size_t)> output_fn,
m_rng(rng),
m_session_manager(session_manager)
{
+ m_writebuf.reserve(16*1024);
+ m_readbuf.reserve(16*1024);
}
Channel::~Channel()
@@ -396,6 +398,11 @@ size_t Channel::received_data(const byte input[], size_t input_size)
send_alert(Alert(e.type(), true));
throw;
}
+ catch(Integrity_Failure& e)
+ {
+ send_alert(Alert(Alert::BAD_RECORD_MAC, true));
+ throw;
+ }
catch(Decoding_Error& e)
{
send_alert(Alert(Alert::DECODE_ERROR, true));