Revision: 10974 https://osdn.net/projects/ttssh2/scm/svn/commits/10974 Author: zmatsuo Date: 2023-10-09 00:40:06 +0900 (Mon, 09 Oct 2023) Log Message: ----------- SCP受信時、リモートに存在しないファイルを指定したとき不正な停止するので修正 - 不正な書き込みアクセス違反 - 変数の初期化を処理の最初に行うよう修正 - 変数の初期化が途中で行われていた ‐ 処理の最初にエラーが出た場合、初期化が行われていない変数を参照していた MFT r10967 Revision Links: -------------- https://osdn.net/projects/ttssh2/scm/svn/commits/10967 Modified Paths: -------------- branches/4-stable/ttssh2/ttxssh/ssh.c -------------- next part -------------- Modified: branches/4-stable/ttssh2/ttxssh/ssh.c =================================================================== --- branches/4-stable/ttssh2/ttxssh/ssh.c 2023-10-08 15:39:57 UTC (rev 10973) +++ branches/4-stable/ttssh2/ttxssh/ssh.c 2023-10-08 15:40:06 UTC (rev 10974) @@ -229,6 +229,7 @@ c->scp.localfp = NULL; c->scp.filemtime = 0; c->scp.fileatime = 0; + c->scp.pktlist_cursize = 0; } if (type == TYPE_AGENT) { c->agent_msg = buffer_init(); @@ -4131,6 +4132,11 @@ notify_fatal_error(pvar, pvar->ts->UIMsg, TRUE); goto error; } + if (c->type == TYPE_SCP) { + c->scp.pvar = pvar; + pvar->recv.suspended = FALSE; + pvar->recv.data_finished = FALSE; + } if (direction == TOREMOTE) { // copy local to remote fp = fopen(sendfile, "rb"); @@ -8237,8 +8243,6 @@ HANDLE thread; unsigned int tid; - c->scp.pvar = pvar; - hDlgWnd = CreateDialog(hInst, MAKEINTRESOURCE(IDD_SSHSCP_PROGRESS), pvar->cv->HWin, (DLGPROC)ssh_scp_dlg_proc); if (hDlgWnd != NULL) { @@ -8538,9 +8542,6 @@ c->scp.pktlist_head = NULL; c->scp.pktlist_tail = NULL; DeleteCriticalSection(&g_ssh_scp_lock); - c->scp.pktlist_cursize = 0; - pvar->recv.suspended = FALSE; - pvar->recv.data_finished = FALSE; } static BOOL SSH2_scp_fromremote(PTInstVar pvar, Channel_t *c, unsigned char *data, unsigned int buflen)