mirror of
https://github.com/PowerShell/openssh-portable.git
synced 2025-07-27 15:54:22 +02:00
- djm@cvs.openbsd.org 2013/08/09 03:39:13
[sftp-client.c] two problems found by a to-be-committed regress test: 1) msg_id was not being initialised so was starting at a random value from the heap (harmless, but confusing). 2) some error conditions were not being propagated back to the caller
This commit is contained in:
parent
036d30743f
commit
fec029f1dc
@ -30,6 +30,12 @@
|
|||||||
[sftp.c]
|
[sftp.c]
|
||||||
do getopt parsing for all sftp commands (with an empty optstring for
|
do getopt parsing for all sftp commands (with an empty optstring for
|
||||||
commands without arguments) to ensure consistent behaviour
|
commands without arguments) to ensure consistent behaviour
|
||||||
|
- djm@cvs.openbsd.org 2013/08/09 03:39:13
|
||||||
|
[sftp-client.c]
|
||||||
|
two problems found by a to-be-committed regress test: 1) msg_id was not
|
||||||
|
being initialised so was starting at a random value from the heap
|
||||||
|
(harmless, but confusing). 2) some error conditions were not being
|
||||||
|
propagated back to the caller
|
||||||
|
|
||||||
20130808
|
20130808
|
||||||
- (dtucker) [regress/Makefile regress/test-exec.sh] Don't try to use test -nt
|
- (dtucker) [regress/Makefile regress/test-exec.sh] Don't try to use test -nt
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: sftp-client.c,v 1.102 2013/08/08 05:04:03 djm Exp $ */
|
/* $OpenBSD: sftp-client.c,v 1.103 2013/08/09 03:39:13 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
|
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
|
||||||
*
|
*
|
||||||
@ -337,7 +337,8 @@ do_init(int fd_in, int fd_out, u_int transfer_buflen, u_int num_requests,
|
|||||||
Buffer msg;
|
Buffer msg;
|
||||||
struct sftp_conn *ret;
|
struct sftp_conn *ret;
|
||||||
|
|
||||||
ret = xmalloc(sizeof(*ret));
|
ret = xcalloc(1, sizeof(*ret));
|
||||||
|
ret->msg_id = 1;
|
||||||
ret->fd_in = fd_in;
|
ret->fd_in = fd_in;
|
||||||
ret->fd_out = fd_out;
|
ret->fd_out = fd_out;
|
||||||
ret->transfer_buflen = transfer_buflen;
|
ret->transfer_buflen = transfer_buflen;
|
||||||
@ -1221,6 +1222,7 @@ do_download(struct sftp_conn *conn, char *remote_path, char *local_path,
|
|||||||
if (read_error) {
|
if (read_error) {
|
||||||
error("Couldn't read from remote file \"%s\" : %s",
|
error("Couldn't read from remote file \"%s\" : %s",
|
||||||
remote_path, fx2txt(status));
|
remote_path, fx2txt(status));
|
||||||
|
status = -1;
|
||||||
do_close(conn, handle, handle_len);
|
do_close(conn, handle, handle_len);
|
||||||
} else if (write_error) {
|
} else if (write_error) {
|
||||||
error("Couldn't write to \"%s\": %s", local_path,
|
error("Couldn't write to \"%s\": %s", local_path,
|
||||||
@ -1229,7 +1231,7 @@ do_download(struct sftp_conn *conn, char *remote_path, char *local_path,
|
|||||||
do_close(conn, handle, handle_len);
|
do_close(conn, handle, handle_len);
|
||||||
} else {
|
} else {
|
||||||
status = do_close(conn, handle, handle_len);
|
status = do_close(conn, handle, handle_len);
|
||||||
if (interrupted)
|
if (interrupted || status != SSH2_FX_OK)
|
||||||
status = -1;
|
status = -1;
|
||||||
/* Override umask and utimes if asked */
|
/* Override umask and utimes if asked */
|
||||||
#ifdef HAVE_FCHMOD
|
#ifdef HAVE_FCHMOD
|
||||||
|
Loading…
x
Reference in New Issue
Block a user