From b99204f2896b0cdafa3ecc0736f0252ce44c32c7 Mon Sep 17 00:00:00 2001 From: Marc Hoersken Date: Mon, 23 Mar 2015 22:47:46 +0100 Subject: [PATCH] scp.c: fix that scp_send may transmit not initialised memory Fixes ticket 244. Thanks Torsten. --- src/scp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/scp.c b/src/scp.c index 89f302b..d73b639 100644 --- a/src/scp.c +++ b/src/scp.c @@ -801,12 +801,18 @@ scp_send(LIBSSH2_SESSION * session, const char *path, int mode, cmd_len = strlen((char *)session->scpSend_command); + memset(&session->scpSend_command[cmd_len], 0, + session->scpSend_command_len - cmd_len); + (void)shell_quotearg(path, &session->scpSend_command[cmd_len], session->scpSend_command_len - cmd_len); session->scpSend_command[session->scpSend_command_len - 1] = '\0'; + session->scpSend_command_len = + strlen((char *)session->scpSend_command); + _libssh2_debug(session, LIBSSH2_TRACE_SCP, "Opening channel for SCP send"); /* Allocate a channel */