#246: libssh2_session_free does not release channels ----------------------+-------------------- Reporter: maxmtl | Owner: Type: defect | Status: new Priority: normal | Milestone: 1.4.3 Component: protocol | Version: 1.4.2 Keywords: | Blocked By: Blocks: | ----------------------+-------------------- If libssh2_session_free is called without the channel being freed previously by libssh2_channel_free a memory leak could occur.
A mismatch of states variables in session_free() prevent the call to libssh2_channel_free function. session->state member is used instead of session->free_state. It causes a leak of around 600 bytes on every connection on my systems (Linux, x64 and PPC). The following patch correct the problem. Note that I am not sure of the state usage at line 861: if (session->state & LIBSSH2_STATE_NEWKEYS) I think it must stay as session->state. (Debugging done under contract for Accedian Networks) -- Ticket URL: <http://trac.libssh2.org/ticket/246> libssh2 <http://trac.libssh2.org/> C library for writing portable SSH2 clients _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel