ssh: abort immediately on a header callback error
This commit is contained in:
parent
891ef341b3
commit
8c4d6ceec0
10
lib/ssh.c
10
lib/ssh.c
@ -1196,7 +1196,13 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
|
|||||||
using ordinary FTP. */
|
using ordinary FTP. */
|
||||||
result = Curl_client_write(conn, CLIENTWRITE_HEADER, tmp, strlen(tmp));
|
result = Curl_client_write(conn, CLIENTWRITE_HEADER, tmp, strlen(tmp));
|
||||||
free(tmp);
|
free(tmp);
|
||||||
state(conn, SSH_SFTP_NEXT_QUOTE);
|
if(result) {
|
||||||
|
state(conn, SSH_SFTP_CLOSE);
|
||||||
|
sshc->nextstate = SSH_NO_STATE;
|
||||||
|
sshc->actualcode = result;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
state(conn, SSH_SFTP_NEXT_QUOTE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if(cmd) {
|
else if(cmd) {
|
||||||
@ -2171,6 +2177,8 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
|
|||||||
conn->cselect_bits = CURL_CSELECT_IN;
|
conn->cselect_bits = CURL_CSELECT_IN;
|
||||||
}
|
}
|
||||||
if(result) {
|
if(result) {
|
||||||
|
/* this should never occur; the close state should be entered
|
||||||
|
at the time the error occurs */
|
||||||
state(conn, SSH_SFTP_CLOSE);
|
state(conn, SSH_SFTP_CLOSE);
|
||||||
sshc->actualcode = result;
|
sshc->actualcode = result;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user