1
1

scp.c: fix that scp_send may transmit not initialised memory

Fixes ticket 244. Thanks Torsten.
Этот коммит содержится в:
Marc Hoersken 2015-03-23 22:47:46 +01:00
родитель 7ca44fbd94
Коммит b99204f289

Просмотреть файл

@ -801,12 +801,18 @@ scp_send(LIBSSH2_SESSION * session, const char *path, int mode,
cmd_len = strlen((char *)session->scpSend_command); cmd_len = strlen((char *)session->scpSend_command);
memset(&session->scpSend_command[cmd_len], 0,
session->scpSend_command_len - cmd_len);
(void)shell_quotearg(path, (void)shell_quotearg(path,
&session->scpSend_command[cmd_len], &session->scpSend_command[cmd_len],
session->scpSend_command_len - cmd_len); session->scpSend_command_len - cmd_len);
session->scpSend_command[session->scpSend_command_len - 1] = '\0'; session->scpSend_command[session->scpSend_command_len - 1] = '\0';
session->scpSend_command_len =
strlen((char *)session->scpSend_command);
_libssh2_debug(session, LIBSSH2_TRACE_SCP, _libssh2_debug(session, LIBSSH2_TRACE_SCP,
"Opening channel for SCP send"); "Opening channel for SCP send");
/* Allocate a channel */ /* Allocate a channel */