diff --git a/src/scp.c b/src/scp.c index 166f3d2f..4b00aa5f 100644 --- a/src/scp.c +++ b/src/scp.c @@ -80,6 +80,12 @@ ssh_scp ssh_scp_new(ssh_session session, int mode, const char *location) goto error; } + if (strlen(location) > 32 * 1024) { + ssh_set_error(session, SSH_FATAL, + "Location path is too long"); + goto error; + } + scp->location = strdup(location); if (scp->location == NULL) { ssh_set_error(session, SSH_FATAL,