1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-08 08:58:00 +00:00
putty-source/ssh
Simon Tatham c635c55a33 connect_to_host(): add missing sk_close on socket error.
If we're setting ssh->s to NULL, we ought to free the thing it
previously pointed to (having extracted the error message first).
At the very least this is a memory leak.

But in fact it's worse, because not freeing it also means not
cancelling its toplevel callbacks. And if you don't do that, then a
failure to set up an SSH connection proxied over another SSH
connection will generate two error dialog boxes in succession, the
second one from the callback that should have been cancelled here.

On Windows that callback never gets called, because we exit the whole
process before getting into the main message loop which might run the
callback. But on Unix, we do go to the main message loop (we don't
have a separate one for the error box), which causes an assertion
failure in register_dialog() when the second box finds the
DIALOG_SLOT_CONNECTION_FATAL slot already occupied.
2024-10-22 18:48:23 +01:00
..
agentf.c Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
bpp1.c New Seat callback, seat_sent(). 2021-06-27 13:52:48 +01:00
bpp2.c Support OpenSSH's new strict kex feature. 2023-12-13 18:47:01 +00:00
bpp-bare.c New Seat callback, seat_sent(). 2021-06-27 13:52:48 +01:00
bpp.h Support OpenSSH's new strict kex feature. 2023-12-13 18:47:01 +00:00
ca-config.c Documentation for OpenSSH certificates. 2022-08-07 18:44:11 +01:00
censor1.c Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
censor2.c Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
channel.h Formatting: normalise back to 4-space indentation. 2022-08-03 20:48:46 +01:00
CMakeLists.txt Move host CA config box out into its own source file. 2022-05-01 10:16:19 +01:00
common.c Terrapin warning: say if reconfiguration can help. 2023-12-13 18:49:17 +00:00
connection1-client.c Rename SocketPeerInfo to SocketEndpointInfo. 2024-06-29 11:49:32 +01:00
connection1-server.c Rename SocketPeerInfo to SocketEndpointInfo. 2024-06-29 11:49:32 +01:00
connection1.c Rename SocketPeerInfo to SocketEndpointInfo. 2024-06-29 11:49:32 +01:00
connection1.h Rename SocketPeerInfo to SocketEndpointInfo. 2024-06-29 11:49:32 +01:00
connection2-client.c Rename SocketPeerInfo to SocketEndpointInfo. 2024-06-29 11:49:32 +01:00
connection2-server.c Rename SocketPeerInfo to SocketEndpointInfo. 2024-06-29 11:49:32 +01:00
connection2.c Rename SocketPeerInfo to SocketEndpointInfo. 2024-06-29 11:49:32 +01:00
connection2.h Rename SocketPeerInfo to SocketEndpointInfo. 2024-06-29 11:49:32 +01:00
crc-attack-detector.c Rename 'ret' variables passed from allocation to return. 2022-09-14 16:10:29 +01:00
gss.h Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
gssc.c GSSAPI fix: don't pass GSS_C_NO_NAME to inquire_cred_by_mech. 2022-09-17 07:55:08 +01:00
gssc.h Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
kex2-client.c Merge GSS EC kex fix and new FAQ from 'pre-0.78'. 2022-09-13 23:53:44 +01:00
kex2-server.c Refactor ecdh_kex into an organised vtable. 2022-04-15 17:46:06 +01:00
login1-server.c Packet protocol layers: new 'final_output' method. 2023-05-04 23:54:01 +01:00
login1.c Warn about Terrapin vulnerability for unpatched servers. 2023-12-13 18:47:08 +00:00
mainchan.c Switch CONF_remote_cmd to being STR_AMBI. 2024-09-26 11:30:07 +01:00
nogss.c Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
nosharing.c Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
pgssapi.c Unix GSSAPI: support static linking against Heimdal. 2022-09-17 07:55:08 +01:00
pgssapi.h Formatting: remove spurious spaces in 'type * var'. 2022-08-03 20:48:46 +01:00
portfwd.c Centralise stub plug/socket functions. 2024-06-29 12:19:35 +01:00
ppl.h Packet protocol layers: new 'final_output' method. 2023-05-04 23:54:01 +01:00
scpserver.c Rewrite some manual char-buffer-handling code. 2022-09-14 16:10:29 +01:00
server.c Centralise stub plug/socket functions. 2024-06-29 12:19:35 +01:00
server.h Uppity: add a stunt mode --close-after-banner. 2023-04-29 11:34:08 +01:00
sesschan.c Centralise stub plug/socket functions. 2024-06-29 12:19:35 +01:00
sftp.c Rename 'ret' variables passed from allocation to return. 2022-09-14 16:10:29 +01:00
sftp.h Fix a batch of typos in comments and docs. 2022-01-03 06:40:51 +00:00
sftpcommon.c Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
sftpserver.c Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
sharing.c Rename SocketPeerInfo to SocketEndpointInfo. 2024-06-29 11:49:32 +01:00
signal-list.h Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
ssh.c connect_to_host(): add missing sk_close on socket error. 2024-10-22 18:48:23 +01:00
transient-hostkey-cache.c Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
transport2.c Terrapin warning: say if reconfiguration can help. 2023-12-13 18:49:17 +00:00
transport2.h Warn about Terrapin vulnerability for unpatched servers. 2023-12-13 18:47:08 +00:00
ttymode-list.h Move the SSH implementation into its own subdirectory. 2021-04-22 18:09:13 +01:00
userauth2-client.c Pass the calling Socket to plug_log. 2024-06-29 12:00:12 +01:00
userauth2-server.c Packet protocol layers: new 'final_output' method. 2023-05-04 23:54:01 +01:00
verstring.c Work around key algorithm naming change in OpenSSH <= 7.7. 2023-05-05 00:05:28 +01:00
x11fwd.c Centralise stub plug/socket functions. 2024-06-29 12:19:35 +01:00
zlib.c Add a batch of missing 'static's. 2022-09-03 12:02:48 +01:00