SCP assert with the libssh backend #2708

bagder opened this Issue Jul 5, 2018 · 0 comments


None yet
1 participant

bagder commented Jul 5, 2018

I did this

$ ./src/curl scp://localhost/ -u user:pwd
curl: ssh-libssh.c:1835: myssh_statemach_act: Assertion `sshc->scp_session == ((void *)0)' failed.

I expected the following

Some sort of (nicer) run-time message about a failed transfer (since that's a directory and not a file). curl with the libssh2 backend says:

$ ./src/curl scp://localhost/ -u user:pwd
curl: (78) Failed to recv file

curl/libcurl version

git master as of July 5th 2018

curl 7.61.0-DEV (x86_64-pc-linux-gnu) libcurl/7.61.0-DEV (GnuTLS/3.5.18) OpenSSL/1.1.0h zlib/1.2.11 brotli/1.0.5 c-ares/1.14.0 libidn2/2.0.4 libpsl/0.20.2 (+libidn2/2.0.4) libssh/0.7.0/openssl/zlib nghttp2/1.33.0-DEV librtmp/2.3
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS Debug TrackMemory IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz brotli TLS-SRP HTTP2 UnixSockets HTTPS-proxy MultiSSL PSL Metalink 

operating system

Debian Linux


Possibly this, or a related issue was brought up on the mailing list by Martin Galvan

/cc @nmav

bagder added a commit that referenced this issue Jul 5, 2018

libssh: goto DISCONNECT state on error, not SSH_SESSION_FREE
... because otherwise not everything get closed down correctly.

Fixes #2708

@bagder bagder closed this in 03d884b Jul 6, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment