diff --git a/src/sftp.c b/src/sftp.c index 95b58026..8d002257 100644 --- a/src/sftp.c +++ b/src/sftp.c @@ -716,6 +716,13 @@ static LIBSSH2_SFTP *sftp_init(LIBSSH2_SESSION *session) LIBSSH2_API LIBSSH2_SFTP *libssh2_sftp_init(LIBSSH2_SESSION *session) { LIBSSH2_SFTP *ptr; + + if(!(session->state & LIBSSH2_STATE_AUTHENTICATED)) { + _libssh2_error(session, LIBSSH2_ERROR_INVAL, + "session not authenticated yet"); + return NULL; + } + BLOCK_ADJUST_ERRNO(ptr, session, sftp_init(session)); return ptr; }