The buffer for the decompression (remote.comp_abstract) is
initialised in time when it is needed.
With this fix decompression is disabled when the buffer
(remote.comp_abstract) is not initialised.
Bug: http://trac.libssh2.org/ticket/200
--- src/transport.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) This patch fixes bug #200 for me. Tested with JSCAPE sftp server. diff --git a/src/transport.c b/src/transport.c index 38e005a..c519f0a 100644 --- a/src/transport.c +++ b/src/transport.c @@ -199,7 +199,10 @@ fullpacket(LIBSSH2_SESSION * session, int encrypted /* 1 or 0 */ ) session->fullpacket_payload_len -= p->padding_length; /* Check for and deal with decompression */ - if (session->remote.comp && session->remote.comp->compress) { + if (session->remote.comp && + session->remote.comp->compress && + session->remote.comp_abstract) + { unsigned char *data; size_t data_len; rc = session->remote.comp->decomp(session, @@ -215,7 +218,6 @@ fullpacket(LIBSSH2_SESSION * session, int encrypted /* 1 or 0 */ ) p->payload = data; session->fullpacket_payload_len = data_len; } - session->fullpacket_packet_type = p->payload[0]; debugdump(session, "libssh2_transport_read() plain", -- 1.7.3.1.msysgit.0 _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-develReceived on 2011-01-26