[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: possible issue with bsd_poll() on Windows


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. 


References:
RE: possible issue with bsd_poll() on WindowsJohn Dunn <John.Dunn@xxxxxxx>
Re: possible issue with bsd_poll() on WindowsAndreas Schneider <asn@xxxxxxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org