#182: Various memory leaks
-------------------------------+--------------------------------------------
Reporter: john@… | Owner: bagder
Type: defect | Status: assigned
Priority: normal | Milestone: 1.2.6
Component: API | Version: 1.2.6
Resolution: | Keywords:
Blocks: | Blocked By:
-------------------------------+--------------------------------------------
Comment (by bagder):
Thanks for the patch and thanks for your patience with us. The diff makes
things very clear. My comments/questions on it follows:
Why is it important to set socket_state to LIBSSH2_SOCKET_DISCONNECTED
when recv/send fails and errno isn't EINTR? Also, the checking of errno is
not portable enough since Windows for example won't touch it for socket
operations. What memory leak do we get if we just skip the changing of the
socket_state for this situation? If we want to do it, I'd rather suggest
that we change _libssh2_recv() and _libssh2_send() to become real
functions (on all platforms) and we put that logic into those functions
instead of distributing it to all places where those functions/macros are
used.
libssh2_publickey_list_free() MUST NOT be modified as it is part of the
public API/ABI and we don't change that without careful planning and
considerations. Why exactly do you feel a need to change that and if you
do, how is that change related to the memory leaks this bug report is
about?
-- Ticket URL: <http://trac.libssh2.org/ticket/182#comment:10> libssh2 <http://trac.libssh2.org/> C library for writing portable SSH2 clients _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-develReceived on 2010-06-29