From 9d13d866273dbc02881a78657b9076c8f1ebbdb5 Mon Sep 17 00:00:00 2001 From: Ryan Kelley Date: Wed, 17 Apr 2019 20:18:11 -0400 Subject: [PATCH] Session.c : banner_receive() from leaking when accessing non ssh ports (#356) File : session.c Release previous banner in banner_receive() if the session is reused after a failed connection. Credit : Ryan Kelley --- src/session.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/session.c b/src/session.c index 2aa4d8b7..e439acde 100644 --- a/src/session.c +++ b/src/session.c @@ -170,6 +170,9 @@ banner_receive(LIBSSH2_SESSION * session) if(!banner_len) return LIBSSH2_ERROR_BANNER_RECV; + if(session->remote.banner) + LIBSSH2_FREE(session, session->remote.banner); + session->remote.banner = LIBSSH2_ALLOC(session, banner_len + 1); if(!session->remote.banner) { return _libssh2_error(session, LIBSSH2_ERROR_ALLOC,