diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tls/tls.erl | 6 |
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 -> |