On: Monday, September 10, 2018 2:06 PM Andreas Schneider wrote:
> Setting errno?

As I said in my earlier email I tried that but errno is not checked in this 
path. The call stack is 

        ssh.dll!bsd_poll(ssh_pollfd_struct * fds, unsigned long nfds, int 
timeout) Line 240
        ssh.dll!ssh_poll(ssh_pollfd_struct * fds, unsigned long nfds, int 
timeout) Line 276
        ssh.dll!ssh_poll_ctx_dopoll(ssh_poll_ctx_struct * ctx, int timeout) 
Line 624
        ssh.dll!ssh_handle_packets(ssh_session_struct * session, int timeout) 
Line 626
        ssh.dll!ssh_handle_packets_termination(ssh_session_struct * session, 
int timeout, int(*)(void *) fct, void * user) Line 688
        ssh.dll!ssh_connect(ssh_session_struct * session) Line 574

If bsd_poll returns -1 then ssh_poll_ctx_dopoll return SSH_ERROR, which then, 
in ssh_handle_packets the session->session_state is set to 
SSH_SESSION_STATE_ERROR. At that point, a call to ssh_get_error() looks at 
err->error_buffer which is an empty string. At no point is errno referenced. 


Reply via email to