X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/2285d016cf0103f03e05e53e22025282c104a164..976374cdc06f5adb4217cb816f9bfe928d0809e6:/pscp.c diff --git a/pscp.c b/pscp.c index 9259dd08..19e5df4a 100644 --- a/pscp.c +++ b/pscp.c @@ -213,8 +213,6 @@ int from_backend(void *frontend, int is_stderr, const char *data, int datalen) if (pendsize < pendlen + len) { pendsize = pendlen + len + 4096; pending = sresize(pending, pendsize, unsigned char); - if (!pending) - fatalbox("Out of memory"); } memcpy(pending + pendlen, p, len); pendlen += len; @@ -751,7 +749,7 @@ static struct fxp_handle *scp_sftp_filehandle; static struct fxp_xfer *scp_sftp_xfer; static uint64 scp_sftp_fileoffset; -void scp_source_setup(char *target, int shouldbedir) +int scp_source_setup(char *target, int shouldbedir) { if (using_sftp) { /* @@ -766,7 +764,7 @@ void scp_source_setup(char *target, int shouldbedir) if (!fxp_init()) { tell_user(stderr, "unable to initialise SFTP: %s", fxp_error()); errs++; - return; + return 1; } sftp_register(req = fxp_stat_send(target)); @@ -789,6 +787,7 @@ void scp_source_setup(char *target, int shouldbedir) } else { (void) response(); } + return 0; } int scp_send_errmsg(char *str) @@ -1980,7 +1979,8 @@ static void toremote(int argc, char *argv[]) do_cmd(host, user, cmd); sfree(cmd); - scp_source_setup(targ, targetshouldbedirectory); + if (scp_source_setup(targ, targetshouldbedirectory)) + return; for (i = 0; i < argc - 1; i++) { src = argv[i];