summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tls/tls.erl6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tls/tls.erl b/src/tls/tls.erl
index 620f8d30..46f01b36 100644
--- a/src/tls/tls.erl
+++ b/src/tls/tls.erl
@@ -158,8 +158,10 @@ tls_to_tcp(#tlssock{tcpsock = TCPSocket, tlsport = Port}) ->
recv(Socket, Length) ->
recv(Socket, Length, infinity).
recv(#tlssock{tcpsock = TCPSocket} = TLSSock,
- Length, Timeout) ->
- case gen_tcp:recv(TCPSocket, Length, Timeout) of
+ _Length, Timeout) ->
+ %% The Length argument cannot be used for gen_tcp:recv/3, because the
+ %% compressed size does not equal the desired uncompressed one.
+ case gen_tcp:recv(TCPSocket, 0, Timeout) of
{ok, Packet} ->
recv_data(TLSSock, Packet);
{error, _Reason} = Error ->